/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/egcd3-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:10:22,601 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:10:22,602 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:10:22,638 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:10:22,638 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:10:22,639 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:10:22,640 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:10:22,640 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:10:22,641 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:10:22,642 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:10:22,642 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:10:22,643 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:10:22,643 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:10:22,644 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:10:22,644 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:10:22,645 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:10:22,645 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:10:22,646 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:10:22,647 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:10:22,648 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:10:22,650 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:10:22,651 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:10:22,652 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:10:22,652 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:10:22,653 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:10:22,661 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:10:22,661 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:10:22,662 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:10:22,662 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:10:22,662 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:10:22,663 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:10:22,663 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:10:22,664 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:10:22,665 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:10:22,665 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:10:22,665 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:10:22,666 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:10:22,666 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:10:22,666 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:10:22,666 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:10:22,667 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:10:22,668 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:10:22,668 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:10:22,690 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:10:22,690 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:10:22,690 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:10:22,690 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:10:22,691 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:10:22,691 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:10:22,692 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:10:22,692 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:10:22,692 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:10:22,692 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:10:22,692 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:10:22,692 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:10:22,693 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:10:22,693 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:10:22,694 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:10:22,694 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:10:22,694 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:10:22,847 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:10:22,872 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:10:22,874 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:10:22,875 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:10:22,875 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:10:22,876 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-27 13:10:22,930 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9bab54e0b/c88bf6cfdf8647999b101037fbd97fc9/FLAG8038c249a [2022-04-27 13:10:23,299 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:10:23,300 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-27 13:10:23,303 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9bab54e0b/c88bf6cfdf8647999b101037fbd97fc9/FLAG8038c249a [2022-04-27 13:10:23,312 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9bab54e0b/c88bf6cfdf8647999b101037fbd97fc9 [2022-04-27 13:10:23,314 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:10:23,315 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:10:23,315 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:10:23,315 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:10:23,317 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:10:23,318 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,319 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@b171a57 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23, skipping insertion in model container [2022-04-27 13:10:23,319 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,323 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:10:23,332 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:10:23,437 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c[490,503] [2022-04-27 13:10:23,461 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:10:23,465 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:10:23,477 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c[490,503] [2022-04-27 13:10:23,486 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:10:23,494 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:10:23,494 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23 WrapperNode [2022-04-27 13:10:23,494 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:10:23,495 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:10:23,495 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:10:23,495 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:10:23,507 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,507 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,511 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,511 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,515 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,518 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,520 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,521 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:10:23,522 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:10:23,522 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:10:23,522 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:10:23,523 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (1/1) ... [2022-04-27 13:10:23,533 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:10:23,539 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:23,547 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:10:23,549 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:10:23,577 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:10:23,578 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:10:23,578 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:10:23,578 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:10:23,578 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:10:23,578 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:10:23,578 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:10:23,578 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:10:23,578 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:10:23,578 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:10:23,578 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:10:23,579 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:10:23,618 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:10:23,619 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:10:23,772 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:10:23,777 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:10:23,777 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-27 13:10:23,778 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:10:23 BoogieIcfgContainer [2022-04-27 13:10:23,778 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:10:23,779 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:10:23,779 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:10:23,781 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:10:23,781 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:10:23" (1/3) ... [2022-04-27 13:10:23,782 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6be75a71 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:10:23, skipping insertion in model container [2022-04-27 13:10:23,782 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:10:23" (2/3) ... [2022-04-27 13:10:23,782 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6be75a71 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:10:23, skipping insertion in model container [2022-04-27 13:10:23,782 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:10:23" (3/3) ... [2022-04-27 13:10:23,783 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound20.c [2022-04-27 13:10:23,791 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:10:23,792 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:10:23,822 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:10:23,830 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@588e1dd1, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3a86456d [2022-04-27 13:10:23,830 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:10:23,837 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:10:23,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:10:23,843 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:23,843 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:23,843 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:23,846 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:23,847 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-27 13:10:23,853 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:23,853 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1200335900] [2022-04-27 13:10:23,853 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:23,854 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:23,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,957 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:10:23,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:10:23,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:10:23,971 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-27 13:10:23,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:10:23,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,977 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:23,978 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:23,978 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:23,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-27 13:10:23,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:10:23,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,984 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:23,984 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:23,984 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:23,985 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-27 13:10:23,985 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:10:23,986 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,990 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:23,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:23,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:23,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-27 13:10:23,991 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-27 13:10:23,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:23,996 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:23,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:23,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:23,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-27 13:10:23,998 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:10:23,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-27 13:10:23,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-27 13:10:23,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-27 13:10:23,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-27 13:10:23,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-27 13:10:23,999 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-27 13:10:23,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:24,000 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:24,000 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:24,000 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-27 13:10:24,000 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:10:24,000 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-27 13:10:24,000 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:24,001 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:24,001 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:24,001 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-27 13:10:24,001 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:10:24,001 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:24,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:24,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:24,002 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-27 13:10:24,002 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:10:24,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-27 13:10:24,003 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-27 13:10:24,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-27 13:10:24,003 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-27 13:10:24,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-27 13:10:24,003 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-27 13:10:24,003 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-27 13:10:24,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-27 13:10:24,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-27 13:10:24,004 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-27 13:10:24,004 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:24,004 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:24,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1200335900] [2022-04-27 13:10:24,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1200335900] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:24,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:24,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:10:24,006 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1065117062] [2022-04-27 13:10:24,007 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:24,010 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:10:24,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:24,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:24,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:24,036 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:10:24,037 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:24,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:10:24,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:10:24,052 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:24,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,157 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-27 13:10:24,157 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:10:24,157 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:10:24,157 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:24,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:24,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-27 13:10:24,165 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:24,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-27 13:10:24,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-27 13:10:24,276 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:24,283 INFO L225 Difference]: With dead ends: 73 [2022-04-27 13:10:24,283 INFO L226 Difference]: Without dead ends: 35 [2022-04-27 13:10:24,285 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:10:24,287 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:24,288 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:24,297 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-27 13:10:24,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-27 13:10:24,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:24,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,308 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,309 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,312 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-27 13:10:24,312 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:10:24,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:24,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:24,313 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-27 13:10:24,313 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-27 13:10:24,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,317 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-27 13:10:24,317 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:10:24,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:24,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:24,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:24,318 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:24,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-27 13:10:24,321 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-27 13:10:24,321 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:24,321 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-27 13:10:24,322 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:24,322 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-27 13:10:24,322 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:10:24,323 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:24,323 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:24,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:10:24,323 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:24,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:24,324 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-27 13:10:24,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:24,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [560258791] [2022-04-27 13:10:24,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:24,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:24,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:24,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [726343587] [2022-04-27 13:10:24,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:24,344 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:24,344 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:24,345 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:10:24,346 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:10:24,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:24,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 107 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:10:24,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:24,401 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:24,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {294#true} call ULTIMATE.init(); {294#true} is VALID [2022-04-27 13:10:24,521 INFO L290 TraceCheckUtils]: 1: Hoare triple {294#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); {294#true} is VALID [2022-04-27 13:10:24,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:10:24,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {294#true} {294#true} #112#return; {294#true} is VALID [2022-04-27 13:10:24,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {294#true} call #t~ret6 := main(); {294#true} is VALID [2022-04-27 13:10:24,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {294#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {294#true} is VALID [2022-04-27 13:10:24,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {294#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {294#true} is VALID [2022-04-27 13:10:24,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:10:24,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:10:24,522 INFO L290 TraceCheckUtils]: 9: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:10:24,522 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {294#true} {294#true} #94#return; {294#true} is VALID [2022-04-27 13:10:24,522 INFO L290 TraceCheckUtils]: 11: Hoare triple {294#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {294#true} is VALID [2022-04-27 13:10:24,523 INFO L272 TraceCheckUtils]: 12: Hoare triple {294#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {294#true} is VALID [2022-04-27 13:10:24,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:10:24,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:10:24,523 INFO L290 TraceCheckUtils]: 15: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:10:24,523 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {294#true} {294#true} #96#return; {294#true} is VALID [2022-04-27 13:10:24,523 INFO L272 TraceCheckUtils]: 17: Hoare triple {294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {294#true} is VALID [2022-04-27 13:10:24,523 INFO L290 TraceCheckUtils]: 18: Hoare triple {294#true} ~cond := #in~cond; {294#true} is VALID [2022-04-27 13:10:24,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {294#true} assume !(0 == ~cond); {294#true} is VALID [2022-04-27 13:10:24,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {294#true} assume true; {294#true} is VALID [2022-04-27 13:10:24,524 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {294#true} {294#true} #98#return; {294#true} is VALID [2022-04-27 13:10:24,524 INFO L272 TraceCheckUtils]: 22: Hoare triple {294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {294#true} is VALID [2022-04-27 13:10:24,524 INFO L290 TraceCheckUtils]: 23: Hoare triple {294#true} ~cond := #in~cond; {368#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:24,525 INFO L290 TraceCheckUtils]: 24: Hoare triple {368#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {372#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:24,525 INFO L290 TraceCheckUtils]: 25: Hoare triple {372#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {372#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:24,526 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {372#(not (= |assume_abort_if_not_#in~cond| 0))} {294#true} #100#return; {379#(<= 1 main_~y~0)} is VALID [2022-04-27 13:10:24,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {379#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {383#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:24,527 INFO L290 TraceCheckUtils]: 28: Hoare triple {383#(<= 1 main_~b~0)} assume !false; {383#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:24,527 INFO L290 TraceCheckUtils]: 29: Hoare triple {383#(<= 1 main_~b~0)} assume !(0 != ~b~0); {295#false} is VALID [2022-04-27 13:10:24,527 INFO L272 TraceCheckUtils]: 30: Hoare triple {295#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {295#false} is VALID [2022-04-27 13:10:24,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {295#false} ~cond := #in~cond; {295#false} is VALID [2022-04-27 13:10:24,528 INFO L290 TraceCheckUtils]: 32: Hoare triple {295#false} assume 0 == ~cond; {295#false} is VALID [2022-04-27 13:10:24,528 INFO L290 TraceCheckUtils]: 33: Hoare triple {295#false} assume !false; {295#false} is VALID [2022-04-27 13:10:24,528 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:10:24,528 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:24,528 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:24,528 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [560258791] [2022-04-27 13:10:24,529 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:24,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [726343587] [2022-04-27 13:10:24,529 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [726343587] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:24,529 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:24,529 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:10:24,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1597787315] [2022-04-27 13:10:24,530 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:24,530 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 13:10:24,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:24,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:24,550 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:10:24,550 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:10:24,550 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:24,550 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:10:24,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:10:24,551 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:24,777 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,778 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-27 13:10:24,778 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:10:24,778 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-27 13:10:24,778 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:24,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:24,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:10:24,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:24,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-27 13:10:24,783 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-27 13:10:24,830 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:10:24,832 INFO L225 Difference]: With dead ends: 54 [2022-04-27 13:10:24,832 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 13:10:24,832 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:10:24,834 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 31 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 76 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 76 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:24,834 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 133 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 76 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:10:24,835 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 13:10:24,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 37. [2022-04-27 13:10:24,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:24,846 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,847 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,847 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,849 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:10:24,849 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2022-04-27 13:10:24,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:24,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:24,850 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 47 states. [2022-04-27 13:10:24,850 INFO L87 Difference]: Start difference. First operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 47 states. [2022-04-27 13:10:24,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:24,852 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:10:24,853 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 62 transitions. [2022-04-27 13:10:24,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:24,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:24,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:24,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:24,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 13:10:24,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:10:24,855 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 34 [2022-04-27 13:10:24,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:24,855 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:10:24,857 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:24,857 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:10:24,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 13:10:24,857 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:24,857 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:24,876 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:10:25,076 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:10:25,076 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:25,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:25,077 INFO L85 PathProgramCache]: Analyzing trace with hash 1443363578, now seen corresponding path program 1 times [2022-04-27 13:10:25,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:25,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1915231900] [2022-04-27 13:10:25,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:25,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:25,093 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:25,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [607865796] [2022-04-27 13:10:25,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:25,093 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:25,093 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:25,094 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:10:25,096 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:10:25,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:25,130 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 13:10:25,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:25,139 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:25,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {636#true} call ULTIMATE.init(); {636#true} is VALID [2022-04-27 13:10:25,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {636#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); {636#true} is VALID [2022-04-27 13:10:25,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {636#true} {636#true} #112#return; {636#true} is VALID [2022-04-27 13:10:25,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {636#true} call #t~ret6 := main(); {636#true} is VALID [2022-04-27 13:10:25,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {636#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {636#true} is VALID [2022-04-27 13:10:25,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {636#true} {636#true} #94#return; {636#true} is VALID [2022-04-27 13:10:25,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {636#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {636#true} is VALID [2022-04-27 13:10:25,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {636#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {636#true} ~cond := #in~cond; {680#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:25,387 INFO L290 TraceCheckUtils]: 14: Hoare triple {680#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {684#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:25,387 INFO L290 TraceCheckUtils]: 15: Hoare triple {684#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {684#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:25,387 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {684#(not (= |assume_abort_if_not_#in~cond| 0))} {636#true} #96#return; {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:25,388 INFO L272 TraceCheckUtils]: 17: Hoare triple {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,388 INFO L290 TraceCheckUtils]: 18: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,388 INFO L290 TraceCheckUtils]: 19: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,388 INFO L290 TraceCheckUtils]: 20: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,388 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {636#true} {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:25,388 INFO L272 TraceCheckUtils]: 22: Hoare triple {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,389 INFO L290 TraceCheckUtils]: 23: Hoare triple {636#true} ~cond := #in~cond; {680#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:25,389 INFO L290 TraceCheckUtils]: 24: Hoare triple {680#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {684#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:25,389 INFO L290 TraceCheckUtils]: 25: Hoare triple {684#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {684#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:25,390 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {684#(not (= |assume_abort_if_not_#in~cond| 0))} {691#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {722#(and (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-27 13:10:25,390 INFO L290 TraceCheckUtils]: 27: Hoare triple {722#(and (<= main_~y~0 20) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,391 INFO L290 TraceCheckUtils]: 28: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,391 INFO L290 TraceCheckUtils]: 29: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,392 INFO L290 TraceCheckUtils]: 32: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:25,393 INFO L272 TraceCheckUtils]: 33: Hoare triple {726#(and (= main_~r~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {745#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:25,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {745#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {749#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:25,394 INFO L290 TraceCheckUtils]: 35: Hoare triple {749#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {637#false} is VALID [2022-04-27 13:10:25,394 INFO L290 TraceCheckUtils]: 36: Hoare triple {637#false} assume !false; {637#false} is VALID [2022-04-27 13:10:25,394 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:10:25,394 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:25,614 INFO L290 TraceCheckUtils]: 36: Hoare triple {637#false} assume !false; {637#false} is VALID [2022-04-27 13:10:25,615 INFO L290 TraceCheckUtils]: 35: Hoare triple {749#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {637#false} is VALID [2022-04-27 13:10:25,625 INFO L290 TraceCheckUtils]: 34: Hoare triple {745#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {749#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:25,626 INFO L272 TraceCheckUtils]: 33: Hoare triple {765#(= 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)); {745#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:25,626 INFO L290 TraceCheckUtils]: 32: Hoare triple {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,627 INFO L290 TraceCheckUtils]: 31: Hoare triple {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,629 INFO L290 TraceCheckUtils]: 28: Hoare triple {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {636#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {765#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:25,629 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {636#true} {636#true} #100#return; {636#true} is VALID [2022-04-27 13:10:25,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,629 INFO L272 TraceCheckUtils]: 22: Hoare triple {636#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,630 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {636#true} {636#true} #98#return; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 18: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L272 TraceCheckUtils]: 17: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,630 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {636#true} {636#true} #96#return; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 13: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L272 TraceCheckUtils]: 12: Hoare triple {636#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,630 INFO L290 TraceCheckUtils]: 11: Hoare triple {636#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {636#true} is VALID [2022-04-27 13:10:25,630 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {636#true} {636#true} #94#return; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {636#true} assume !(0 == ~cond); {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {636#true} ~cond := #in~cond; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {636#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {636#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L272 TraceCheckUtils]: 4: Hoare triple {636#true} call #t~ret6 := main(); {636#true} is VALID [2022-04-27 13:10:25,631 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {636#true} {636#true} #112#return; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 2: Hoare triple {636#true} assume true; {636#true} is VALID [2022-04-27 13:10:25,631 INFO L290 TraceCheckUtils]: 1: Hoare triple {636#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); {636#true} is VALID [2022-04-27 13:10:25,631 INFO L272 TraceCheckUtils]: 0: Hoare triple {636#true} call ULTIMATE.init(); {636#true} is VALID [2022-04-27 13:10:25,632 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:25,632 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:25,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1915231900] [2022-04-27 13:10:25,632 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:25,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [607865796] [2022-04-27 13:10:25,632 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [607865796] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:10:25,632 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:10:25,632 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:10:25,632 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [86910991] [2022-04-27 13:10:25,632 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:25,633 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 37 [2022-04-27 13:10:25,633 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:25,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:25,659 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:10:25,659 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:25,659 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:25,659 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:25,659 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:10:25,660 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:25,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:25,872 INFO L93 Difference]: Finished difference Result 53 states and 67 transitions. [2022-04-27 13:10:25,872 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:10:25,872 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 37 [2022-04-27 13:10:25,872 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:25,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:25,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 13:10:25,874 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:25,875 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 67 transitions. [2022-04-27 13:10:25,875 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 67 transitions. [2022-04-27 13:10:25,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:25,921 INFO L225 Difference]: With dead ends: 53 [2022-04-27 13:10:25,921 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 13:10:25,921 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 64 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:10:25,922 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 9 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:25,922 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 150 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:25,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 13:10:25,941 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 13:10:25,941 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:25,943 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:10:25,944 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:10:25,945 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:10:25,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:25,950 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-27 13:10:25,950 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:10:25,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:25,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:25,953 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-27 13:10:25,953 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-27 13:10:25,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:25,955 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-27 13:10:25,955 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-27 13:10:25,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:25,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:25,955 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:25,955 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:25,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:10:25,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-27 13:10:25,957 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 37 [2022-04-27 13:10:25,957 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:25,957 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-27 13:10:25,957 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:25,957 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:10:25,958 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 13:10:25,958 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:25,958 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:25,976 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:10:26,158 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:10:26,159 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:26,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:26,159 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-27 13:10:26,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:26,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [460932009] [2022-04-27 13:10:26,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:26,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:26,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:26,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [707042986] [2022-04-27 13:10:26,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:26,178 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:26,178 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:26,187 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:10:26,194 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:10:26,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:26,231 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:10:26,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:26,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:26,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {1126#true} call ULTIMATE.init(); {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {1126#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); {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1126#true} {1126#true} #112#return; {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L272 TraceCheckUtils]: 4: Hoare triple {1126#true} call #t~ret6 := main(); {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {1126#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1126#true} is VALID [2022-04-27 13:10:26,392 INFO L272 TraceCheckUtils]: 6: Hoare triple {1126#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1126#true} {1126#true} #94#return; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {1126#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {1126#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L290 TraceCheckUtils]: 15: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1126#true} {1126#true} #96#return; {1126#true} is VALID [2022-04-27 13:10:26,393 INFO L272 TraceCheckUtils]: 17: Hoare triple {1126#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,394 INFO L290 TraceCheckUtils]: 18: Hoare triple {1126#true} ~cond := #in~cond; {1185#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:26,395 INFO L290 TraceCheckUtils]: 19: Hoare triple {1185#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1189#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:26,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {1189#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1189#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:26,396 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1189#(not (= |assume_abort_if_not_#in~cond| 0))} {1126#true} #98#return; {1196#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:26,396 INFO L272 TraceCheckUtils]: 22: Hoare triple {1196#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,396 INFO L290 TraceCheckUtils]: 23: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,396 INFO L290 TraceCheckUtils]: 24: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,396 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,400 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1126#true} {1196#(<= 1 main_~x~0)} #100#return; {1196#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:26,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {1196#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1215#(<= 1 main_~a~0)} is VALID [2022-04-27 13:10:26,400 INFO L290 TraceCheckUtils]: 28: Hoare triple {1215#(<= 1 main_~a~0)} assume !false; {1215#(<= 1 main_~a~0)} is VALID [2022-04-27 13:10:26,401 INFO L290 TraceCheckUtils]: 29: Hoare triple {1215#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,401 INFO L290 TraceCheckUtils]: 30: Hoare triple {1222#(<= 1 main_~c~0)} assume !false; {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,401 INFO L290 TraceCheckUtils]: 31: Hoare triple {1222#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,402 INFO L290 TraceCheckUtils]: 32: Hoare triple {1222#(<= 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; {1232#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:26,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {1232#(<= 1 main_~b~0)} assume !false; {1232#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:26,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {1232#(<= 1 main_~b~0)} assume !(0 != ~b~0); {1127#false} is VALID [2022-04-27 13:10:26,402 INFO L272 TraceCheckUtils]: 35: Hoare triple {1127#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1127#false} is VALID [2022-04-27 13:10:26,402 INFO L290 TraceCheckUtils]: 36: Hoare triple {1127#false} ~cond := #in~cond; {1127#false} is VALID [2022-04-27 13:10:26,403 INFO L290 TraceCheckUtils]: 37: Hoare triple {1127#false} assume 0 == ~cond; {1127#false} is VALID [2022-04-27 13:10:26,403 INFO L290 TraceCheckUtils]: 38: Hoare triple {1127#false} assume !false; {1127#false} is VALID [2022-04-27 13:10:26,403 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:10:26,403 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:26,619 INFO L290 TraceCheckUtils]: 38: Hoare triple {1127#false} assume !false; {1127#false} is VALID [2022-04-27 13:10:26,619 INFO L290 TraceCheckUtils]: 37: Hoare triple {1127#false} assume 0 == ~cond; {1127#false} is VALID [2022-04-27 13:10:26,619 INFO L290 TraceCheckUtils]: 36: Hoare triple {1127#false} ~cond := #in~cond; {1127#false} is VALID [2022-04-27 13:10:26,619 INFO L272 TraceCheckUtils]: 35: Hoare triple {1127#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {1127#false} is VALID [2022-04-27 13:10:26,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {1232#(<= 1 main_~b~0)} assume !(0 != ~b~0); {1127#false} is VALID [2022-04-27 13:10:26,620 INFO L290 TraceCheckUtils]: 33: Hoare triple {1232#(<= 1 main_~b~0)} assume !false; {1232#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:26,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {1222#(<= 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; {1232#(<= 1 main_~b~0)} is VALID [2022-04-27 13:10:26,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {1222#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {1222#(<= 1 main_~c~0)} assume !false; {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,622 INFO L290 TraceCheckUtils]: 29: Hoare triple {1215#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1222#(<= 1 main_~c~0)} is VALID [2022-04-27 13:10:26,622 INFO L290 TraceCheckUtils]: 28: Hoare triple {1215#(<= 1 main_~a~0)} assume !false; {1215#(<= 1 main_~a~0)} is VALID [2022-04-27 13:10:26,622 INFO L290 TraceCheckUtils]: 27: Hoare triple {1196#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1215#(<= 1 main_~a~0)} is VALID [2022-04-27 13:10:26,623 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1126#true} {1196#(<= 1 main_~x~0)} #100#return; {1196#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:26,623 INFO L290 TraceCheckUtils]: 25: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,623 INFO L290 TraceCheckUtils]: 24: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,623 INFO L290 TraceCheckUtils]: 23: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,623 INFO L272 TraceCheckUtils]: 22: Hoare triple {1196#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,624 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1189#(not (= |assume_abort_if_not_#in~cond| 0))} {1126#true} #98#return; {1196#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:26,624 INFO L290 TraceCheckUtils]: 20: Hoare triple {1189#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1189#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:26,624 INFO L290 TraceCheckUtils]: 19: Hoare triple {1311#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1189#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {1126#true} ~cond := #in~cond; {1311#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:10:26,625 INFO L272 TraceCheckUtils]: 17: Hoare triple {1126#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1126#true} {1126#true} #96#return; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 14: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 13: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L272 TraceCheckUtils]: 12: Hoare triple {1126#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 11: Hoare triple {1126#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1126#true} {1126#true} #94#return; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {1126#true} assume !(0 == ~cond); {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {1126#true} ~cond := #in~cond; {1126#true} is VALID [2022-04-27 13:10:26,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {1126#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L290 TraceCheckUtils]: 5: Hoare triple {1126#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L272 TraceCheckUtils]: 4: Hoare triple {1126#true} call #t~ret6 := main(); {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1126#true} {1126#true} #112#return; {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L290 TraceCheckUtils]: 2: Hoare triple {1126#true} assume true; {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L290 TraceCheckUtils]: 1: Hoare triple {1126#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); {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L272 TraceCheckUtils]: 0: Hoare triple {1126#true} call ULTIMATE.init(); {1126#true} is VALID [2022-04-27 13:10:26,626 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:10:26,626 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:26,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [460932009] [2022-04-27 13:10:26,626 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:26,626 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [707042986] [2022-04-27 13:10:26,627 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [707042986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:26,627 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:26,627 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 13:10:26,627 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1913630472] [2022-04-27 13:10:26,627 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:26,627 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-27 13:10:26,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:26,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:26,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:26,652 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:10:26,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:26,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:10:26,653 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:10:26,653 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:27,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,281 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-27 13:10:27,281 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:10:27,281 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-27 13:10:27,281 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:27,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:27,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-27 13:10:27,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:27,290 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-27 13:10:27,290 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-27 13:10:27,371 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:27,373 INFO L225 Difference]: With dead ends: 103 [2022-04-27 13:10:27,373 INFO L226 Difference]: Without dead ends: 96 [2022-04-27 13:10:27,373 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:10:27,374 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 60 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 64 SdHoareTripleChecker+Valid, 238 SdHoareTripleChecker+Invalid, 212 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:27,374 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [64 Valid, 238 Invalid, 212 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:10:27,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-27 13:10:27,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-27 13:10:27,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:27,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:27,437 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:27,437 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:27,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,442 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-27 13:10:27,442 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-27 13:10:27,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:27,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:27,443 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-27 13:10:27,443 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-27 13:10:27,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:27,447 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-27 13:10:27,447 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-27 13:10:27,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:27,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:27,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:27,448 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:27,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:27,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-27 13:10:27,450 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-27 13:10:27,450 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:27,450 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-27 13:10:27,450 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:10:27,450 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-27 13:10:27,451 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 13:10:27,451 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:27,451 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:27,468 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:10:27,668 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:10:27,668 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:27,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:27,669 INFO L85 PathProgramCache]: Analyzing trace with hash -1286298951, now seen corresponding path program 1 times [2022-04-27 13:10:27,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:27,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1701280757] [2022-04-27 13:10:27,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:27,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:27,688 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:27,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [885361945] [2022-04-27 13:10:27,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:27,689 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:27,689 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:27,690 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:10:27,700 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:10:27,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:27,733 INFO L263 TraceCheckSpWp]: Trace formula consists of 126 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 13:10:27,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:27,743 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:28,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {1837#true} call ULTIMATE.init(); {1837#true} is VALID [2022-04-27 13:10:28,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#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); {1837#true} is VALID [2022-04-27 13:10:28,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #112#return; {1837#true} is VALID [2022-04-27 13:10:28,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {1837#true} call #t~ret6 := main(); {1837#true} is VALID [2022-04-27 13:10:28,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {1837#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1837#true} is VALID [2022-04-27 13:10:28,395 INFO L272 TraceCheckUtils]: 6: Hoare triple {1837#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,395 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1863#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:28,397 INFO L290 TraceCheckUtils]: 8: Hoare triple {1863#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1867#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {1867#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1867#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,399 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1867#(not (= |assume_abort_if_not_#in~cond| 0))} {1837#true} #94#return; {1874#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:10:28,399 INFO L290 TraceCheckUtils]: 11: Hoare triple {1874#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1874#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:10:28,400 INFO L272 TraceCheckUtils]: 12: Hoare triple {1874#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,400 INFO L290 TraceCheckUtils]: 13: Hoare triple {1837#true} ~cond := #in~cond; {1863#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:28,401 INFO L290 TraceCheckUtils]: 14: Hoare triple {1863#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1867#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,401 INFO L290 TraceCheckUtils]: 15: Hoare triple {1867#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1867#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:28,402 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1867#(not (= |assume_abort_if_not_#in~cond| 0))} {1874#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #96#return; {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,402 INFO L272 TraceCheckUtils]: 17: Hoare triple {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,402 INFO L290 TraceCheckUtils]: 18: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,402 INFO L290 TraceCheckUtils]: 19: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,402 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,403 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1837#true} {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} #98#return; {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,403 INFO L272 TraceCheckUtils]: 22: Hoare triple {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,403 INFO L290 TraceCheckUtils]: 23: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,403 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1837#true} {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} #100#return; {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,404 INFO L290 TraceCheckUtils]: 27: Hoare triple {1893#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= 0 main_~x~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1927#(and (<= 0 main_~y~0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,404 INFO L290 TraceCheckUtils]: 28: Hoare triple {1927#(and (<= 0 main_~y~0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} assume !false; {1927#(and (<= 0 main_~y~0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,405 INFO L290 TraceCheckUtils]: 29: Hoare triple {1927#(and (<= 0 main_~y~0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1934#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~c~0 main_~x~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,405 INFO L290 TraceCheckUtils]: 30: Hoare triple {1934#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~c~0 main_~x~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 20))} assume !false; {1934#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~c~0 main_~x~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:28,405 INFO L290 TraceCheckUtils]: 31: Hoare triple {1934#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~c~0 main_~x~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0) (<= main_~y~0 20))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:10:28,406 INFO L290 TraceCheckUtils]: 32: Hoare triple {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !false; {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:10:28,406 INFO L272 TraceCheckUtils]: 33: Hoare triple {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,406 INFO L290 TraceCheckUtils]: 34: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,406 INFO L290 TraceCheckUtils]: 35: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,406 INFO L290 TraceCheckUtils]: 36: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,407 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1837#true} {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #102#return; {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-27 13:10:28,407 INFO L272 TraceCheckUtils]: 38: Hoare triple {1941#(and (<= 0 main_~y~0) (<= main_~x~0 20) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1963#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:28,408 INFO L290 TraceCheckUtils]: 39: Hoare triple {1963#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1967#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:28,408 INFO L290 TraceCheckUtils]: 40: Hoare triple {1967#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1838#false} is VALID [2022-04-27 13:10:28,408 INFO L290 TraceCheckUtils]: 41: Hoare triple {1838#false} assume !false; {1838#false} is VALID [2022-04-27 13:10:28,410 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 12 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:10:28,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:28,692 INFO L290 TraceCheckUtils]: 41: Hoare triple {1838#false} assume !false; {1838#false} is VALID [2022-04-27 13:10:28,692 INFO L290 TraceCheckUtils]: 40: Hoare triple {1967#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1838#false} is VALID [2022-04-27 13:10:28,693 INFO L290 TraceCheckUtils]: 39: Hoare triple {1963#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1967#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:28,694 INFO L272 TraceCheckUtils]: 38: Hoare triple {1983#(= 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)); {1963#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:28,694 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1837#true} {1983#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {1983#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:28,694 INFO L290 TraceCheckUtils]: 36: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,694 INFO L272 TraceCheckUtils]: 33: Hoare triple {1983#(= 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)); {1837#true} is VALID [2022-04-27 13:10:28,695 INFO L290 TraceCheckUtils]: 32: Hoare triple {1983#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1983#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:28,695 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1983#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:28,695 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {2005#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:28,696 INFO L290 TraceCheckUtils]: 29: Hoare triple {2012#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0) (< main_~a~0 main_~b~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2005#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:10:28,696 INFO L290 TraceCheckUtils]: 28: Hoare triple {2012#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0) (< main_~a~0 main_~b~0))} assume !false; {2012#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0) (< main_~a~0 main_~b~0))} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {1837#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2012#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 0) (< main_~a~0 main_~b~0))} is VALID [2022-04-27 13:10:28,697 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1837#true} {1837#true} #100#return; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L272 TraceCheckUtils]: 22: Hoare triple {1837#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1837#true} {1837#true} #98#return; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 19: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 18: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L272 TraceCheckUtils]: 17: Hoare triple {1837#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1837#true} {1837#true} #96#return; {1837#true} is VALID [2022-04-27 13:10:28,697 INFO L290 TraceCheckUtils]: 15: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L272 TraceCheckUtils]: 12: Hoare triple {1837#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {1837#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1837#true} {1837#true} #94#return; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L272 TraceCheckUtils]: 6: Hoare triple {1837#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L290 TraceCheckUtils]: 5: Hoare triple {1837#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1837#true} is VALID [2022-04-27 13:10:28,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {1837#true} call #t~ret6 := main(); {1837#true} is VALID [2022-04-27 13:10:28,699 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #112#return; {1837#true} is VALID [2022-04-27 13:10:28,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-27 13:10:28,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#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); {1837#true} is VALID [2022-04-27 13:10:28,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {1837#true} call ULTIMATE.init(); {1837#true} is VALID [2022-04-27 13:10:28,699 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:28,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:28,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1701280757] [2022-04-27 13:10:28,700 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:28,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [885361945] [2022-04-27 13:10:28,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [885361945] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:10:28,700 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:10:28,700 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [11] total 14 [2022-04-27 13:10:28,700 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [536176947] [2022-04-27 13:10:28,700 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:28,701 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-27 13:10:28,701 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:28,701 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:10:28,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:28,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:10:28,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:28,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:10:28,721 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:10:28,722 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:10:28,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:28,999 INFO L93 Difference]: Finished difference Result 79 states and 102 transitions. [2022-04-27 13:10:29,000 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:10:29,000 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-27 13:10:29,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:29,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:10:29,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-27 13:10:29,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:10:29,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 67 transitions. [2022-04-27 13:10:29,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 67 transitions. [2022-04-27 13:10:29,048 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:29,050 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:10:29,050 INFO L226 Difference]: Without dead ends: 77 [2022-04-27 13:10:29,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 70 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:10:29,051 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 68 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 68 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:29,051 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 169 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 68 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:10:29,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-27 13:10:29,110 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 75. [2022-04-27 13:10:29,110 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:29,110 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:29,110 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:29,110 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:29,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:29,114 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-27 13:10:29,114 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 100 transitions. [2022-04-27 13:10:29,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:29,114 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:29,115 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:10:29,115 INFO L87 Difference]: Start difference. First operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:10:29,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:29,122 INFO L93 Difference]: Finished difference Result 77 states and 100 transitions. [2022-04-27 13:10:29,122 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 100 transitions. [2022-04-27 13:10:29,122 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:29,122 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:29,122 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:29,122 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:29,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 50 states have (on average 1.24) internal successors, (62), 51 states have internal predecessors, (62), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:10:29,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 98 transitions. [2022-04-27 13:10:29,125 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 98 transitions. Word has length 42 [2022-04-27 13:10:29,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:29,127 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 98 transitions. [2022-04-27 13:10:29,127 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:10:29,127 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 98 transitions. [2022-04-27 13:10:29,128 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 13:10:29,128 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:29,128 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:29,165 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:10:29,343 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:10:29,344 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:29,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:29,344 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-27 13:10:29,344 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:29,344 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [406601328] [2022-04-27 13:10:29,344 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:29,344 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:29,362 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:29,362 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [42665367] [2022-04-27 13:10:29,362 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:29,362 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:29,362 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:29,363 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:10:29,368 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:10:29,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:29,429 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:10:29,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:29,445 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:29,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {2488#true} call ULTIMATE.init(); {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {2488#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); {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2488#true} {2488#true} #112#return; {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {2488#true} call #t~ret6 := main(); {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {2488#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {2488#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:29,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:29,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:29,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:29,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2488#true} {2488#true} #94#return; {2488#true} is VALID [2022-04-27 13:10:29,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {2488#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2488#true} is VALID [2022-04-27 13:10:29,892 INFO L272 TraceCheckUtils]: 12: Hoare triple {2488#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:29,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {2488#true} ~cond := #in~cond; {2532#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:29,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {2532#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2536#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {2536#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2536#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,894 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2536#(not (= |assume_abort_if_not_#in~cond| 0))} {2488#true} #96#return; {2543#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,894 INFO L272 TraceCheckUtils]: 17: Hoare triple {2543#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:29,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {2488#true} ~cond := #in~cond; {2532#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:29,894 INFO L290 TraceCheckUtils]: 19: Hoare triple {2532#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2536#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {2536#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2536#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:29,895 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2536#(not (= |assume_abort_if_not_#in~cond| 0))} {2543#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {2559#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,895 INFO L272 TraceCheckUtils]: 22: Hoare triple {2559#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:29,896 INFO L290 TraceCheckUtils]: 23: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:29,896 INFO L290 TraceCheckUtils]: 24: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:29,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:29,897 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2488#true} {2559#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} #100#return; {2559#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,897 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2578#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {2578#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {2578#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {2578#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2585#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,898 INFO L290 TraceCheckUtils]: 30: Hoare triple {2585#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} assume !false; {2585#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {2585#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~x~0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} assume !(~c~0 >= ~b~0); {2592#(and (<= 1 main_~x~0) (< main_~x~0 main_~b~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {2592#(and (<= 1 main_~x~0) (< main_~x~0 main_~b~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20))} ~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; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,900 INFO L290 TraceCheckUtils]: 33: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,900 INFO L290 TraceCheckUtils]: 34: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,900 INFO L290 TraceCheckUtils]: 35: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,901 INFO L290 TraceCheckUtils]: 37: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-27 13:10:29,902 INFO L272 TraceCheckUtils]: 38: Hoare triple {2596#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (< main_~x~0 main_~a~0) (<= main_~y~0 20))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2615#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:29,902 INFO L290 TraceCheckUtils]: 39: Hoare triple {2615#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2619#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:29,902 INFO L290 TraceCheckUtils]: 40: Hoare triple {2619#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2489#false} is VALID [2022-04-27 13:10:29,903 INFO L290 TraceCheckUtils]: 41: Hoare triple {2489#false} assume !false; {2489#false} is VALID [2022-04-27 13:10:29,903 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:10:29,903 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:30,179 INFO L290 TraceCheckUtils]: 41: Hoare triple {2489#false} assume !false; {2489#false} is VALID [2022-04-27 13:10:30,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {2619#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2489#false} is VALID [2022-04-27 13:10:30,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {2615#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2619#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:30,181 INFO L272 TraceCheckUtils]: 38: Hoare triple {2635#(= 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)); {2615#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:30,181 INFO L290 TraceCheckUtils]: 37: Hoare triple {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,182 INFO L290 TraceCheckUtils]: 36: Hoare triple {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,182 INFO L290 TraceCheckUtils]: 35: Hoare triple {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,183 INFO L290 TraceCheckUtils]: 34: Hoare triple {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,184 INFO L290 TraceCheckUtils]: 33: Hoare triple {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,184 INFO L290 TraceCheckUtils]: 32: Hoare triple {2654#(= 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; {2635#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:10:30,187 INFO L290 TraceCheckUtils]: 31: Hoare triple {2658#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {2654#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:30,187 INFO L290 TraceCheckUtils]: 30: Hoare triple {2658#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} assume !false; {2658#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:30,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {2665#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2658#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:30,188 INFO L290 TraceCheckUtils]: 28: Hoare triple {2665#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} assume !false; {2665#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:30,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {2488#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2665#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:30,189 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2488#true} {2488#true} #100#return; {2488#true} is VALID [2022-04-27 13:10:30,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:30,190 INFO L290 TraceCheckUtils]: 24: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:30,190 INFO L290 TraceCheckUtils]: 23: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:30,192 INFO L272 TraceCheckUtils]: 22: Hoare triple {2488#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:30,192 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2488#true} {2488#true} #98#return; {2488#true} is VALID [2022-04-27 13:10:30,192 INFO L290 TraceCheckUtils]: 20: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:30,192 INFO L290 TraceCheckUtils]: 19: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:30,192 INFO L290 TraceCheckUtils]: 18: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L272 TraceCheckUtils]: 17: Hoare triple {2488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2488#true} {2488#true} #96#return; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 15: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L272 TraceCheckUtils]: 12: Hoare triple {2488#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 11: Hoare triple {2488#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2488#true} {2488#true} #94#return; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 9: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 8: Hoare triple {2488#true} assume !(0 == ~cond); {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 7: Hoare triple {2488#true} ~cond := #in~cond; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L272 TraceCheckUtils]: 6: Hoare triple {2488#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {2488#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2488#true} is VALID [2022-04-27 13:10:30,193 INFO L272 TraceCheckUtils]: 4: Hoare triple {2488#true} call #t~ret6 := main(); {2488#true} is VALID [2022-04-27 13:10:30,194 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2488#true} {2488#true} #112#return; {2488#true} is VALID [2022-04-27 13:10:30,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {2488#true} assume true; {2488#true} is VALID [2022-04-27 13:10:30,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {2488#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); {2488#true} is VALID [2022-04-27 13:10:30,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {2488#true} call ULTIMATE.init(); {2488#true} is VALID [2022-04-27 13:10:30,195 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:30,196 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:30,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [406601328] [2022-04-27 13:10:30,196 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:30,196 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [42665367] [2022-04-27 13:10:30,196 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [42665367] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:30,196 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:30,196 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 16 [2022-04-27 13:10:30,196 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [260989320] [2022-04-27 13:10:30,196 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:30,197 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 42 [2022-04-27 13:10:30,197 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:30,197 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:10:30,222 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:10:30,227 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:10:30,227 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:30,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:10:30,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:10:30,228 INFO L87 Difference]: Start difference. First operand 75 states and 98 transitions. Second operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:10:35,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,444 INFO L93 Difference]: Finished difference Result 118 states and 159 transitions. [2022-04-27 13:10:35,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:10:35,445 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 42 [2022-04-27 13:10:35,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:35,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:10:35,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:10:35,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:10:35,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 121 transitions. [2022-04-27 13:10:35,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 121 transitions. [2022-04-27 13:10:35,577 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:10:35,579 INFO L225 Difference]: With dead ends: 118 [2022-04-27 13:10:35,579 INFO L226 Difference]: Without dead ends: 116 [2022-04-27 13:10:35,579 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 68 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=132, Invalid=468, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:10:35,580 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 95 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 94 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 96 SdHoareTripleChecker+Valid, 258 SdHoareTripleChecker+Invalid, 479 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 94 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:35,580 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [96 Valid, 258 Invalid, 479 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [94 Valid, 385 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-27 13:10:35,581 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-27 13:10:35,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 105. [2022-04-27 13:10:35,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:35,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:10:35,756 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:10:35,756 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:10:35,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,759 INFO L93 Difference]: Finished difference Result 116 states and 157 transitions. [2022-04-27 13:10:35,759 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 157 transitions. [2022-04-27 13:10:35,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:35,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:35,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 116 states. [2022-04-27 13:10:35,760 INFO L87 Difference]: Start difference. First operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) Second operand 116 states. [2022-04-27 13:10:35,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:35,763 INFO L93 Difference]: Finished difference Result 116 states and 157 transitions. [2022-04-27 13:10:35,763 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 157 transitions. [2022-04-27 13:10:35,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:35,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:35,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:35,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:35,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 105 states, 71 states have (on average 1.2535211267605635) internal successors, (89), 72 states have internal predecessors, (89), 27 states have call successors, (27), 7 states have call predecessors, (27), 6 states have return successors, (25), 25 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:10:35,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 141 transitions. [2022-04-27 13:10:35,767 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 141 transitions. Word has length 42 [2022-04-27 13:10:35,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:35,767 INFO L495 AbstractCegarLoop]: Abstraction has 105 states and 141 transitions. [2022-04-27 13:10:35,767 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.3333333333333335) internal successors, (35), 13 states have internal predecessors, (35), 5 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-27 13:10:35,767 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 141 transitions. [2022-04-27 13:10:35,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:10:35,767 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:35,768 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:35,785 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-27 13:10:35,983 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:10:35,983 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:35,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:35,984 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-27 13:10:35,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:35,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1010448285] [2022-04-27 13:10:35,984 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:35,986 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:36,005 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:36,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1874320276] [2022-04-27 13:10:36,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:36,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:36,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:36,007 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:10:36,008 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:10:36,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:36,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:10:36,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:36,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:38,209 INFO L272 TraceCheckUtils]: 0: Hoare triple {3342#true} call ULTIMATE.init(); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 1: Hoare triple {3342#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); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 2: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3342#true} {3342#true} #112#return; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {3342#true} call #t~ret6 := main(); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {3342#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L272 TraceCheckUtils]: 6: Hoare triple {3342#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3342#true} {3342#true} #94#return; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 11: Hoare triple {3342#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L272 TraceCheckUtils]: 12: Hoare triple {3342#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 14: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 15: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3342#true} {3342#true} #96#return; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L272 TraceCheckUtils]: 17: Hoare triple {3342#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3342#true} {3342#true} #98#return; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L272 TraceCheckUtils]: 22: Hoare triple {3342#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 23: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 25: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3342#true} {3342#true} #100#return; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 27: Hoare triple {3342#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3342#true} is VALID [2022-04-27 13:10:38,210 INFO L290 TraceCheckUtils]: 28: Hoare triple {3342#true} assume !false; {3342#true} is VALID [2022-04-27 13:10:38,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {3342#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,212 INFO L290 TraceCheckUtils]: 32: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,212 INFO L272 TraceCheckUtils]: 33: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,212 INFO L290 TraceCheckUtils]: 34: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,212 INFO L290 TraceCheckUtils]: 35: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,212 INFO L290 TraceCheckUtils]: 36: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,213 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3342#true} {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #102#return; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,213 INFO L272 TraceCheckUtils]: 38: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3342#true} is VALID [2022-04-27 13:10:38,213 INFO L290 TraceCheckUtils]: 39: Hoare triple {3342#true} ~cond := #in~cond; {3342#true} is VALID [2022-04-27 13:10:38,213 INFO L290 TraceCheckUtils]: 40: Hoare triple {3342#true} assume !(0 == ~cond); {3342#true} is VALID [2022-04-27 13:10:38,213 INFO L290 TraceCheckUtils]: 41: Hoare triple {3342#true} assume true; {3342#true} is VALID [2022-04-27 13:10:38,213 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3342#true} {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #104#return; {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:10:38,214 INFO L272 TraceCheckUtils]: 43: Hoare triple {3434#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3477#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:38,214 INFO L290 TraceCheckUtils]: 44: Hoare triple {3477#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3481#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:38,215 INFO L290 TraceCheckUtils]: 45: Hoare triple {3481#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3343#false} is VALID [2022-04-27 13:10:38,215 INFO L290 TraceCheckUtils]: 46: Hoare triple {3343#false} assume !false; {3343#false} is VALID [2022-04-27 13:10:38,215 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 13:10:38,215 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:38,215 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:38,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1010448285] [2022-04-27 13:10:38,215 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:38,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1874320276] [2022-04-27 13:10:38,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1874320276] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:38,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:38,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:10:38,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1805457841] [2022-04-27 13:10:38,216 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:38,216 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-27 13:10:38,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:38,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:10:38,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:38,240 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:38,240 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:38,241 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:38,241 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:10:38,241 INFO L87 Difference]: Start difference. First operand 105 states and 141 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:10:38,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:38,608 INFO L93 Difference]: Finished difference Result 151 states and 213 transitions. [2022-04-27 13:10:38,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:10:38,609 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-27 13:10:38,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:38,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:10:38,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:38,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:10:38,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:38,611 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:10:38,654 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:10:38,657 INFO L225 Difference]: With dead ends: 151 [2022-04-27 13:10:38,657 INFO L226 Difference]: Without dead ends: 149 [2022-04-27 13:10:38,657 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:10:38,658 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:38,658 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 146 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:38,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 149 states. [2022-04-27 13:10:38,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 149 to 143. [2022-04-27 13:10:38,892 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:38,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:10:38,893 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:10:38,893 INFO L87 Difference]: Start difference. First operand 149 states. Second operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:10:38,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:38,900 INFO L93 Difference]: Finished difference Result 149 states and 211 transitions. [2022-04-27 13:10:38,900 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 211 transitions. [2022-04-27 13:10:38,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:38,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:38,901 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) Second operand 149 states. [2022-04-27 13:10:38,901 INFO L87 Difference]: Start difference. First operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) Second operand 149 states. [2022-04-27 13:10:38,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:38,906 INFO L93 Difference]: Finished difference Result 149 states and 211 transitions. [2022-04-27 13:10:38,906 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 211 transitions. [2022-04-27 13:10:38,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:38,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:38,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:38,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:38,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 88 states have (on average 1.2840909090909092) internal successors, (113), 89 states have internal predecessors, (113), 47 states have call successors, (47), 8 states have call predecessors, (47), 7 states have return successors, (45), 45 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-27 13:10:38,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 205 transitions. [2022-04-27 13:10:38,913 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 205 transitions. Word has length 47 [2022-04-27 13:10:38,913 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:38,913 INFO L495 AbstractCegarLoop]: Abstraction has 143 states and 205 transitions. [2022-04-27 13:10:38,913 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:10:38,913 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 205 transitions. [2022-04-27 13:10:38,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:10:38,913 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:38,913 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:38,935 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:10:39,127 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:10:39,127 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:39,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:39,128 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-27 13:10:39,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:39,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [477221999] [2022-04-27 13:10:39,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:39,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:39,141 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:39,141 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2092165864] [2022-04-27 13:10:39,141 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:39,141 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:39,141 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:39,147 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:10:39,149 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:10:39,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:39,199 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:10:39,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:39,210 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:39,722 INFO L272 TraceCheckUtils]: 0: Hoare triple {4245#true} call ULTIMATE.init(); {4245#true} is VALID [2022-04-27 13:10:39,722 INFO L290 TraceCheckUtils]: 1: Hoare triple {4245#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); {4245#true} is VALID [2022-04-27 13:10:39,722 INFO L290 TraceCheckUtils]: 2: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:39,722 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4245#true} {4245#true} #112#return; {4245#true} is VALID [2022-04-27 13:10:39,722 INFO L272 TraceCheckUtils]: 4: Hoare triple {4245#true} call #t~ret6 := main(); {4245#true} is VALID [2022-04-27 13:10:39,722 INFO L290 TraceCheckUtils]: 5: Hoare triple {4245#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L272 TraceCheckUtils]: 6: Hoare triple {4245#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 9: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4245#true} {4245#true} #94#return; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 11: Hoare triple {4245#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L272 TraceCheckUtils]: 12: Hoare triple {4245#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 15: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4245#true} {4245#true} #96#return; {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L272 TraceCheckUtils]: 17: Hoare triple {4245#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:39,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {4245#true} ~cond := #in~cond; {4304#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:10:39,724 INFO L290 TraceCheckUtils]: 19: Hoare triple {4304#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4308#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:39,724 INFO L290 TraceCheckUtils]: 20: Hoare triple {4308#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4308#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:10:39,725 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4308#(not (= |assume_abort_if_not_#in~cond| 0))} {4245#true} #98#return; {4315#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:39,725 INFO L272 TraceCheckUtils]: 22: Hoare triple {4315#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:39,725 INFO L290 TraceCheckUtils]: 23: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:39,725 INFO L290 TraceCheckUtils]: 24: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:39,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:39,725 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4245#true} {4315#(<= 1 main_~x~0)} #100#return; {4315#(<= 1 main_~x~0)} is VALID [2022-04-27 13:10:39,726 INFO L290 TraceCheckUtils]: 27: Hoare triple {4315#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4334#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:39,726 INFO L290 TraceCheckUtils]: 28: Hoare triple {4334#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4334#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:39,726 INFO L290 TraceCheckUtils]: 29: Hoare triple {4334#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4341#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:39,727 INFO L290 TraceCheckUtils]: 30: Hoare triple {4341#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {4341#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:39,727 INFO L290 TraceCheckUtils]: 31: Hoare triple {4341#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~k~0 0) (= main_~s~0 1) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {4348#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:39,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {4348#(and (= main_~r~0 0) (<= 1 main_~x~0) (< main_~c~0 main_~y~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,729 INFO L290 TraceCheckUtils]: 34: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,729 INFO L290 TraceCheckUtils]: 35: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,730 INFO L290 TraceCheckUtils]: 36: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,730 INFO L290 TraceCheckUtils]: 37: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,730 INFO L272 TraceCheckUtils]: 38: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< 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)); {4245#true} is VALID [2022-04-27 13:10:39,730 INFO L290 TraceCheckUtils]: 39: Hoare triple {4245#true} ~cond := #in~cond; {4374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:39,731 INFO L290 TraceCheckUtils]: 40: Hoare triple {4374#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:39,731 INFO L290 TraceCheckUtils]: 41: Hoare triple {4378#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4378#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:39,731 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4378#(not (= |__VERIFIER_assert_#in~cond| 0))} {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:10:39,732 INFO L272 TraceCheckUtils]: 43: Hoare triple {4352#(and (= main_~s~0 0) (<= 1 main_~x~0) (< 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)); {4388#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:39,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {4388#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4392#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:39,733 INFO L290 TraceCheckUtils]: 45: Hoare triple {4392#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4246#false} is VALID [2022-04-27 13:10:39,733 INFO L290 TraceCheckUtils]: 46: Hoare triple {4246#false} assume !false; {4246#false} is VALID [2022-04-27 13:10:39,733 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 7 proven. 8 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-27 13:10:39,733 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:10:44,208 INFO L290 TraceCheckUtils]: 46: Hoare triple {4246#false} assume !false; {4246#false} is VALID [2022-04-27 13:10:44,208 INFO L290 TraceCheckUtils]: 45: Hoare triple {4392#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4246#false} is VALID [2022-04-27 13:10:44,208 INFO L290 TraceCheckUtils]: 44: Hoare triple {4388#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4392#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:44,209 INFO L272 TraceCheckUtils]: 43: Hoare triple {4408#(= 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)); {4388#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:44,210 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {4245#true} {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,210 INFO L290 TraceCheckUtils]: 41: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:44,210 INFO L290 TraceCheckUtils]: 39: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:44,210 INFO L272 TraceCheckUtils]: 38: Hoare triple {4408#(= 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)); {4245#true} is VALID [2022-04-27 13:10:44,210 INFO L290 TraceCheckUtils]: 37: Hoare triple {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,211 INFO L290 TraceCheckUtils]: 36: Hoare triple {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,212 INFO L290 TraceCheckUtils]: 33: Hoare triple {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,717 INFO L290 TraceCheckUtils]: 32: Hoare triple {4442#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4408#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:10:44,718 INFO L290 TraceCheckUtils]: 31: Hoare triple {4446#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {4442#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:10:44,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {4446#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} assume !false; {4446#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:44,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {4453#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4446#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:44,719 INFO L290 TraceCheckUtils]: 28: Hoare triple {4453#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} assume !false; {4453#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {4245#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4453#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:10:44,720 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4245#true} {4245#true} #100#return; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 23: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L272 TraceCheckUtils]: 22: Hoare triple {4245#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4245#true} {4245#true} #98#return; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 18: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L272 TraceCheckUtils]: 17: Hoare triple {4245#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4245#true} {4245#true} #96#return; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 15: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 14: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 13: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L272 TraceCheckUtils]: 12: Hoare triple {4245#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L290 TraceCheckUtils]: 11: Hoare triple {4245#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4245#true} is VALID [2022-04-27 13:10:44,720 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4245#true} {4245#true} #94#return; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {4245#true} assume !(0 == ~cond); {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {4245#true} ~cond := #in~cond; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L272 TraceCheckUtils]: 6: Hoare triple {4245#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {4245#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L272 TraceCheckUtils]: 4: Hoare triple {4245#true} call #t~ret6 := main(); {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4245#true} {4245#true} #112#return; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {4245#true} assume true; {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {4245#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); {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L272 TraceCheckUtils]: 0: Hoare triple {4245#true} call ULTIMATE.init(); {4245#true} is VALID [2022-04-27 13:10:44,721 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:44,721 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:44,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [477221999] [2022-04-27 13:10:44,721 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:44,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2092165864] [2022-04-27 13:10:44,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2092165864] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:10:44,721 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:10:44,722 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 8] total 17 [2022-04-27 13:10:44,722 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1854378103] [2022-04-27 13:10:44,722 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:10:44,722 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 47 [2022-04-27 13:10:44,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:44,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 13:10:44,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:44,864 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 13:10:44,864 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:44,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 13:10:44,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=229, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:10:44,864 INFO L87 Difference]: Start difference. First operand 143 states and 205 transitions. Second operand has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 13:10:51,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:51,037 INFO L93 Difference]: Finished difference Result 190 states and 265 transitions. [2022-04-27 13:10:51,037 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 13:10:51,038 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 47 [2022-04-27 13:10:51,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:51,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 13:10:51,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 138 transitions. [2022-04-27 13:10:51,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 13:10:51,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 138 transitions. [2022-04-27 13:10:51,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 138 transitions. [2022-04-27 13:10:51,403 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:51,407 INFO L225 Difference]: With dead ends: 190 [2022-04-27 13:10:51,407 INFO L226 Difference]: Without dead ends: 188 [2022-04-27 13:10:51,408 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 111 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 33 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 242 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=226, Invalid=964, Unknown=0, NotChecked=0, Total=1190 [2022-04-27 13:10:51,408 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 123 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 683 mSolverCounterSat, 123 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 123 SdHoareTripleChecker+Valid, 229 SdHoareTripleChecker+Invalid, 806 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 123 IncrementalHoareTripleChecker+Valid, 683 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:51,408 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [123 Valid, 229 Invalid, 806 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [123 Valid, 683 Invalid, 0 Unknown, 0 Unchecked, 2.2s Time] [2022-04-27 13:10:51,409 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-27 13:10:51,706 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 179. [2022-04-27 13:10:51,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:51,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:51,714 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:51,716 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:51,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:51,722 INFO L93 Difference]: Finished difference Result 188 states and 263 transitions. [2022-04-27 13:10:51,722 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 263 transitions. [2022-04-27 13:10:51,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:51,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:51,725 INFO L74 IsIncluded]: Start isIncluded. First operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 188 states. [2022-04-27 13:10:51,725 INFO L87 Difference]: Start difference. First operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) Second operand 188 states. [2022-04-27 13:10:51,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:51,731 INFO L93 Difference]: Finished difference Result 188 states and 263 transitions. [2022-04-27 13:10:51,731 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 263 transitions. [2022-04-27 13:10:51,731 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:51,731 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:51,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:51,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:51,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 179 states, 113 states have (on average 1.2566371681415929) internal successors, (142), 118 states have internal predecessors, (142), 56 states have call successors, (56), 10 states have call predecessors, (56), 9 states have return successors, (54), 50 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 13:10:51,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 179 states to 179 states and 252 transitions. [2022-04-27 13:10:51,737 INFO L78 Accepts]: Start accepts. Automaton has 179 states and 252 transitions. Word has length 47 [2022-04-27 13:10:51,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:51,737 INFO L495 AbstractCegarLoop]: Abstraction has 179 states and 252 transitions. [2022-04-27 13:10:51,737 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.411764705882353) internal successors, (41), 15 states have internal predecessors, (41), 4 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 13:10:51,737 INFO L276 IsEmpty]: Start isEmpty. Operand 179 states and 252 transitions. [2022-04-27 13:10:51,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 13:10:51,738 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:51,738 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:51,764 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:10:51,955 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:10:51,955 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:51,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:51,955 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 2 times [2022-04-27 13:10:51,955 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:51,955 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2090585295] [2022-04-27 13:10:51,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:51,956 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:51,966 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:51,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1893761475] [2022-04-27 13:10:51,966 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:10:51,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:51,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:51,967 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:10:51,983 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:10:52,018 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:10:52,019 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:10:52,019 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:10:52,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:52,025 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:52,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {5535#true} call ULTIMATE.init(); {5535#true} is VALID [2022-04-27 13:10:52,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {5535#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); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {5535#true} assume true; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5535#true} {5535#true} #112#return; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {5535#true} call #t~ret6 := main(); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {5535#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {5535#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {5535#true} ~cond := #in~cond; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {5535#true} assume !(0 == ~cond); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {5535#true} assume true; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5535#true} {5535#true} #94#return; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 11: Hoare triple {5535#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L272 TraceCheckUtils]: 12: Hoare triple {5535#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 13: Hoare triple {5535#true} ~cond := #in~cond; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 14: Hoare triple {5535#true} assume !(0 == ~cond); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 15: Hoare triple {5535#true} assume true; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5535#true} {5535#true} #96#return; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L272 TraceCheckUtils]: 17: Hoare triple {5535#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {5535#true} ~cond := #in~cond; {5535#true} is VALID [2022-04-27 13:10:52,136 INFO L290 TraceCheckUtils]: 19: Hoare triple {5535#true} assume !(0 == ~cond); {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 20: Hoare triple {5535#true} assume true; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5535#true} {5535#true} #98#return; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L272 TraceCheckUtils]: 22: Hoare triple {5535#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 23: Hoare triple {5535#true} ~cond := #in~cond; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 24: Hoare triple {5535#true} assume !(0 == ~cond); {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {5535#true} assume true; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5535#true} {5535#true} #100#return; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {5535#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 28: Hoare triple {5535#true} assume !false; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 29: Hoare triple {5535#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {5535#true} assume !false; {5535#true} is VALID [2022-04-27 13:10:52,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {5535#true} assume !(~c~0 >= ~b~0); {5633#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:10:52,138 INFO L290 TraceCheckUtils]: 32: Hoare triple {5633#(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; {5637#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:10:52,138 INFO L290 TraceCheckUtils]: 33: Hoare triple {5637#(< main_~b~0 main_~a~0)} assume !false; {5637#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:10:52,138 INFO L290 TraceCheckUtils]: 34: Hoare triple {5637#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5644#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:52,139 INFO L290 TraceCheckUtils]: 35: Hoare triple {5644#(< main_~b~0 main_~c~0)} assume !false; {5644#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:10:52,139 INFO L290 TraceCheckUtils]: 36: Hoare triple {5644#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {5536#false} is VALID [2022-04-27 13:10:52,139 INFO L290 TraceCheckUtils]: 37: Hoare triple {5536#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; {5536#false} is VALID [2022-04-27 13:10:52,139 INFO L290 TraceCheckUtils]: 38: Hoare triple {5536#false} assume !false; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 39: Hoare triple {5536#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 40: Hoare triple {5536#false} assume !false; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 41: Hoare triple {5536#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {5536#false} assume !false; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L272 TraceCheckUtils]: 43: Hoare triple {5536#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {5536#false} ~cond := #in~cond; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {5536#false} assume 0 == ~cond; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {5536#false} assume !false; {5536#false} is VALID [2022-04-27 13:10:52,140 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:10:52,140 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:52,140 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:52,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2090585295] [2022-04-27 13:10:52,140 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:52,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1893761475] [2022-04-27 13:10:52,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1893761475] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:52,140 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:52,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:10:52,141 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [285796851] [2022-04-27 13:10:52,141 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:52,141 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-27 13:10:52,141 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:52,141 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:52,175 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:10:52,175 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:52,176 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:52,176 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:52,176 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:10:52,176 INFO L87 Difference]: Start difference. First operand 179 states and 252 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:52,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:52,595 INFO L93 Difference]: Finished difference Result 225 states and 312 transitions. [2022-04-27 13:10:52,595 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:10:52,596 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-27 13:10:52,596 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:52,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:52,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-27 13:10:52,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:52,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-27 13:10:52,598 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-27 13:10:52,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:10:52,681 INFO L225 Difference]: With dead ends: 225 [2022-04-27 13:10:52,681 INFO L226 Difference]: Without dead ends: 144 [2022-04-27 13:10:52,681 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:10:52,682 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:52,682 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:10:52,682 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-27 13:10:52,959 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 121. [2022-04-27 13:10:52,959 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:52,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:52,960 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:52,960 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:52,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:52,964 INFO L93 Difference]: Finished difference Result 144 states and 195 transitions. [2022-04-27 13:10:52,964 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 195 transitions. [2022-04-27 13:10:52,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:52,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:52,964 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 144 states. [2022-04-27 13:10:52,965 INFO L87 Difference]: Start difference. First operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) Second operand 144 states. [2022-04-27 13:10:52,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:52,984 INFO L93 Difference]: Finished difference Result 144 states and 195 transitions. [2022-04-27 13:10:52,984 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 195 transitions. [2022-04-27 13:10:52,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:52,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:52,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:52,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:52,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 38 states have call successors, (38), 10 states have call predecessors, (38), 9 states have return successors, (36), 33 states have call predecessors, (36), 36 states have call successors, (36) [2022-04-27 13:10:52,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 160 transitions. [2022-04-27 13:10:52,987 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 160 transitions. Word has length 47 [2022-04-27 13:10:52,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:52,987 INFO L495 AbstractCegarLoop]: Abstraction has 121 states and 160 transitions. [2022-04-27 13:10:52,987 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-27 13:10:52,987 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 160 transitions. [2022-04-27 13:10:52,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 13:10:52,988 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:52,988 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:53,004 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:10:53,194 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:10:53,194 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:53,195 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:53,195 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-27 13:10:53,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:53,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037110119] [2022-04-27 13:10:53,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:53,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:53,208 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:53,208 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [282023438] [2022-04-27 13:10:53,208 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:53,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:53,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:53,210 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:10:53,210 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:10:53,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:53,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:10:53,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:53,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:53,397 INFO L272 TraceCheckUtils]: 0: Hoare triple {6512#true} call ULTIMATE.init(); {6512#true} is VALID [2022-04-27 13:10:53,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {6512#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); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 2: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6512#true} {6512#true} #112#return; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L272 TraceCheckUtils]: 4: Hoare triple {6512#true} call #t~ret6 := main(); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 5: Hoare triple {6512#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L272 TraceCheckUtils]: 6: Hoare triple {6512#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 7: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 8: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 9: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6512#true} {6512#true} #94#return; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 11: Hoare triple {6512#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L272 TraceCheckUtils]: 12: Hoare triple {6512#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 13: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 14: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 15: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6512#true} {6512#true} #96#return; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L272 TraceCheckUtils]: 17: Hoare triple {6512#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 18: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 19: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,398 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6512#true} {6512#true} #98#return; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L272 TraceCheckUtils]: 22: Hoare triple {6512#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 24: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 25: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6512#true} {6512#true} #100#return; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 27: Hoare triple {6512#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 28: Hoare triple {6512#true} assume !false; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 29: Hoare triple {6512#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {6512#true} assume !false; {6512#true} is VALID [2022-04-27 13:10:53,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {6512#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:53,400 INFO L290 TraceCheckUtils]: 32: Hoare triple {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:53,400 INFO L272 TraceCheckUtils]: 33: Hoare triple {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,400 INFO L290 TraceCheckUtils]: 34: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,400 INFO L290 TraceCheckUtils]: 35: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,400 INFO L290 TraceCheckUtils]: 36: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,401 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6512#true} {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:53,401 INFO L272 TraceCheckUtils]: 38: Hoare triple {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,401 INFO L290 TraceCheckUtils]: 41: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,402 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6512#true} {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:53,402 INFO L272 TraceCheckUtils]: 43: Hoare triple {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6512#true} is VALID [2022-04-27 13:10:53,402 INFO L290 TraceCheckUtils]: 44: Hoare triple {6512#true} ~cond := #in~cond; {6512#true} is VALID [2022-04-27 13:10:53,402 INFO L290 TraceCheckUtils]: 45: Hoare triple {6512#true} assume !(0 == ~cond); {6512#true} is VALID [2022-04-27 13:10:53,402 INFO L290 TraceCheckUtils]: 46: Hoare triple {6512#true} assume true; {6512#true} is VALID [2022-04-27 13:10:53,402 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6512#true} {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:10:53,403 INFO L272 TraceCheckUtils]: 48: Hoare triple {6610#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6662#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:53,403 INFO L290 TraceCheckUtils]: 49: Hoare triple {6662#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6666#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:53,404 INFO L290 TraceCheckUtils]: 50: Hoare triple {6666#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6513#false} is VALID [2022-04-27 13:10:53,404 INFO L290 TraceCheckUtils]: 51: Hoare triple {6513#false} assume !false; {6513#false} is VALID [2022-04-27 13:10:53,404 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-27 13:10:53,404 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:10:53,404 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:10:53,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037110119] [2022-04-27 13:10:53,404 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:10:53,404 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [282023438] [2022-04-27 13:10:53,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [282023438] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:10:53,404 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:10:53,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:10:53,404 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1654987147] [2022-04-27 13:10:53,404 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:10:53,405 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-27 13:10:53,405 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:10:53,405 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:53,434 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:10:53,434 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:10:53,434 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:10:53,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:10:53,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:10:53,434 INFO L87 Difference]: Start difference. First operand 121 states and 160 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:53,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:53,932 INFO L93 Difference]: Finished difference Result 167 states and 233 transitions. [2022-04-27 13:10:53,932 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:10:53,932 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-27 13:10:53,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:10:53,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:53,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:53,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:53,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:10:53,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:10:53,977 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:10:53,980 INFO L225 Difference]: With dead ends: 167 [2022-04-27 13:10:53,980 INFO L226 Difference]: Without dead ends: 165 [2022-04-27 13:10:53,980 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:10:53,981 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:10:53,981 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:10:53,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-27 13:10:54,259 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 148. [2022-04-27 13:10:54,259 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:10:54,260 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:54,260 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:54,260 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:54,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:54,265 INFO L93 Difference]: Finished difference Result 165 states and 231 transitions. [2022-04-27 13:10:54,265 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 231 transitions. [2022-04-27 13:10:54,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:54,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:54,266 INFO L74 IsIncluded]: Start isIncluded. First operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) Second operand 165 states. [2022-04-27 13:10:54,266 INFO L87 Difference]: Start difference. First operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) Second operand 165 states. [2022-04-27 13:10:54,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:10:54,269 INFO L93 Difference]: Finished difference Result 165 states and 231 transitions. [2022-04-27 13:10:54,269 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 231 transitions. [2022-04-27 13:10:54,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:10:54,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:10:54,270 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:10:54,270 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:10:54,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 148 states, 80 states have (on average 1.1625) internal successors, (93), 88 states have internal predecessors, (93), 57 states have call successors, (57), 11 states have call predecessors, (57), 10 states have return successors, (55), 48 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 13:10:54,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 205 transitions. [2022-04-27 13:10:54,275 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 205 transitions. Word has length 52 [2022-04-27 13:10:54,275 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:10:54,275 INFO L495 AbstractCegarLoop]: Abstraction has 148 states and 205 transitions. [2022-04-27 13:10:54,275 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-27 13:10:54,275 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 205 transitions. [2022-04-27 13:10:54,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:10:54,276 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:10:54,276 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:10:54,292 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:10:54,491 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:10:54,492 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:10:54,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:10:54,492 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-27 13:10:54,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:10:54,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2057016880] [2022-04-27 13:10:54,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:54,492 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:10:54,525 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:10:54,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2050287736] [2022-04-27 13:10:54,525 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:10:54,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:10:54,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:10:54,539 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:10:54,562 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:10:54,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:54,603 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-27 13:10:54,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:10:54,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:10:55,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {7506#true} call ULTIMATE.init(); {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {7506#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); {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L290 TraceCheckUtils]: 2: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7506#true} {7506#true} #112#return; {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L272 TraceCheckUtils]: 4: Hoare triple {7506#true} call #t~ret6 := main(); {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L290 TraceCheckUtils]: 5: Hoare triple {7506#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L272 TraceCheckUtils]: 6: Hoare triple {7506#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L290 TraceCheckUtils]: 7: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,009 INFO L290 TraceCheckUtils]: 8: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 9: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7506#true} {7506#true} #94#return; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 11: Hoare triple {7506#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L272 TraceCheckUtils]: 12: Hoare triple {7506#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 13: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 14: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 15: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7506#true} {7506#true} #96#return; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L272 TraceCheckUtils]: 17: Hoare triple {7506#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 18: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 19: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7506#true} {7506#true} #98#return; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L272 TraceCheckUtils]: 22: Hoare triple {7506#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 24: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,010 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7506#true} {7506#true} #100#return; {7506#true} is VALID [2022-04-27 13:10:55,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {7506#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7592#(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:10:55,011 INFO L290 TraceCheckUtils]: 28: Hoare triple {7592#(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; {7592#(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:10:55,011 INFO L290 TraceCheckUtils]: 29: Hoare triple {7592#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7599#(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:10:55,011 INFO L290 TraceCheckUtils]: 30: Hoare triple {7599#(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; {7599#(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:10:55,012 INFO L290 TraceCheckUtils]: 31: Hoare triple {7599#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,012 INFO L290 TraceCheckUtils]: 32: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,012 INFO L272 TraceCheckUtils]: 33: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,012 INFO L290 TraceCheckUtils]: 34: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,012 INFO L290 TraceCheckUtils]: 35: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,012 INFO L290 TraceCheckUtils]: 36: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,013 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7506#true} {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,013 INFO L272 TraceCheckUtils]: 38: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,013 INFO L290 TraceCheckUtils]: 39: Hoare triple {7506#true} ~cond := #in~cond; {7631#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:55,013 INFO L290 TraceCheckUtils]: 40: Hoare triple {7631#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:55,013 INFO L290 TraceCheckUtils]: 41: Hoare triple {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:10:55,014 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,014 INFO L272 TraceCheckUtils]: 43: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,014 INFO L290 TraceCheckUtils]: 44: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,014 INFO L290 TraceCheckUtils]: 45: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,014 INFO L290 TraceCheckUtils]: 46: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,014 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7506#true} {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,014 INFO L272 TraceCheckUtils]: 48: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:10:55,015 INFO L290 TraceCheckUtils]: 49: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:10:55,015 INFO L290 TraceCheckUtils]: 50: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:10:55,015 INFO L290 TraceCheckUtils]: 51: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:10:55,015 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7506#true} {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,015 INFO L290 TraceCheckUtils]: 53: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,016 INFO L290 TraceCheckUtils]: 54: Hoare triple {7606#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,016 INFO L290 TraceCheckUtils]: 55: Hoare triple {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,017 INFO L290 TraceCheckUtils]: 56: Hoare triple {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:10:55,017 INFO L290 TraceCheckUtils]: 57: Hoare triple {7678#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7688#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:10:55,017 INFO L290 TraceCheckUtils]: 58: Hoare triple {7688#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !false; {7688#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-27 13:10:55,018 INFO L290 TraceCheckUtils]: 59: Hoare triple {7688#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {7695#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-27 13:10:55,018 INFO L272 TraceCheckUtils]: 60: Hoare triple {7695#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7699#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:10:55,019 INFO L290 TraceCheckUtils]: 61: Hoare triple {7699#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7703#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:10:55,019 INFO L290 TraceCheckUtils]: 62: Hoare triple {7703#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7507#false} is VALID [2022-04-27 13:10:55,019 INFO L290 TraceCheckUtils]: 63: Hoare triple {7507#false} assume !false; {7507#false} is VALID [2022-04-27 13:10:55,019 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 13:10:55,019 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:11:07,632 INFO L290 TraceCheckUtils]: 63: Hoare triple {7507#false} assume !false; {7507#false} is VALID [2022-04-27 13:11:07,632 INFO L290 TraceCheckUtils]: 62: Hoare triple {7703#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7507#false} is VALID [2022-04-27 13:11:07,632 INFO L290 TraceCheckUtils]: 61: Hoare triple {7699#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7703#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:07,633 INFO L272 TraceCheckUtils]: 60: Hoare triple {7719#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {7699#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:07,633 INFO L290 TraceCheckUtils]: 59: Hoare triple {7723#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {7719#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:07,634 INFO L290 TraceCheckUtils]: 58: Hoare triple {7723#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {7723#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:11:07,807 INFO L290 TraceCheckUtils]: 57: Hoare triple {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {7723#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:11:07,807 INFO L290 TraceCheckUtils]: 56: Hoare triple {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,808 INFO L290 TraceCheckUtils]: 55: Hoare triple {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,858 INFO L290 TraceCheckUtils]: 54: Hoare triple {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {7730#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,859 INFO L290 TraceCheckUtils]: 53: Hoare triple {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,859 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7506#true} {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,859 INFO L290 TraceCheckUtils]: 51: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,859 INFO L290 TraceCheckUtils]: 50: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,859 INFO L290 TraceCheckUtils]: 49: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,860 INFO L272 TraceCheckUtils]: 48: Hoare triple {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,860 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7506#true} {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,860 INFO L290 TraceCheckUtils]: 46: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,860 INFO L290 TraceCheckUtils]: 45: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,860 INFO L290 TraceCheckUtils]: 44: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,860 INFO L272 TraceCheckUtils]: 43: Hoare triple {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,861 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {7740#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,862 INFO L290 TraceCheckUtils]: 41: Hoare triple {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:07,862 INFO L290 TraceCheckUtils]: 40: Hoare triple {7787#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {7635#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:07,862 INFO L290 TraceCheckUtils]: 39: Hoare triple {7506#true} ~cond := #in~cond; {7787#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:11:07,862 INFO L272 TraceCheckUtils]: 38: Hoare triple {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,863 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7506#true} {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,863 INFO L290 TraceCheckUtils]: 36: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,863 INFO L290 TraceCheckUtils]: 35: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,863 INFO L290 TraceCheckUtils]: 34: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,863 INFO L272 TraceCheckUtils]: 33: Hoare triple {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,864 INFO L290 TraceCheckUtils]: 32: Hoare triple {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,864 INFO L290 TraceCheckUtils]: 31: Hoare triple {7812#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {7777#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:11:07,865 INFO L290 TraceCheckUtils]: 30: Hoare triple {7812#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !false; {7812#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:11:07,865 INFO L290 TraceCheckUtils]: 29: Hoare triple {7819#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {7812#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:11:07,866 INFO L290 TraceCheckUtils]: 28: Hoare triple {7819#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} assume !false; {7819#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:11:07,866 INFO L290 TraceCheckUtils]: 27: Hoare triple {7506#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7819#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:11:07,866 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7506#true} {7506#true} #100#return; {7506#true} is VALID [2022-04-27 13:11:07,866 INFO L290 TraceCheckUtils]: 25: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 24: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 23: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L272 TraceCheckUtils]: 22: Hoare triple {7506#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7506#true} {7506#true} #98#return; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 20: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 19: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L272 TraceCheckUtils]: 17: Hoare triple {7506#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7506#true} {7506#true} #96#return; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 15: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 14: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L272 TraceCheckUtils]: 12: Hoare triple {7506#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 11: Hoare triple {7506#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7506#true} {7506#true} #94#return; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 9: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 8: Hoare triple {7506#true} assume !(0 == ~cond); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 7: Hoare triple {7506#true} ~cond := #in~cond; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L272 TraceCheckUtils]: 6: Hoare triple {7506#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L290 TraceCheckUtils]: 5: Hoare triple {7506#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7506#true} is VALID [2022-04-27 13:11:07,867 INFO L272 TraceCheckUtils]: 4: Hoare triple {7506#true} call #t~ret6 := main(); {7506#true} is VALID [2022-04-27 13:11:07,868 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7506#true} {7506#true} #112#return; {7506#true} is VALID [2022-04-27 13:11:07,868 INFO L290 TraceCheckUtils]: 2: Hoare triple {7506#true} assume true; {7506#true} is VALID [2022-04-27 13:11:07,868 INFO L290 TraceCheckUtils]: 1: Hoare triple {7506#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); {7506#true} is VALID [2022-04-27 13:11:07,868 INFO L272 TraceCheckUtils]: 0: Hoare triple {7506#true} call ULTIMATE.init(); {7506#true} is VALID [2022-04-27 13:11:07,868 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-27 13:11:07,868 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:11:07,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2057016880] [2022-04-27 13:11:07,868 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:11:07,868 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2050287736] [2022-04-27 13:11:07,868 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2050287736] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:11:07,868 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:11:07,868 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-27 13:11:07,869 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [205055555] [2022-04-27 13:11:07,869 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:11:07,869 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 64 [2022-04-27 13:11:07,869 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:11:07,869 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:11:08,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:08,130 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-27 13:11:08,130 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:11:08,130 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-27 13:11:08,130 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:11:08,130 INFO L87 Difference]: Start difference. First operand 148 states and 205 transitions. Second operand has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:11:19,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:19,300 INFO L93 Difference]: Finished difference Result 294 states and 426 transitions. [2022-04-27 13:11:19,300 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 30 states. [2022-04-27 13:11:19,301 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 64 [2022-04-27 13:11:19,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:11:19,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:11:19,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 257 transitions. [2022-04-27 13:11:19,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:11:19,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 257 transitions. [2022-04-27 13:11:19,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 257 transitions. [2022-04-27 13:11:20,969 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:20,975 INFO L225 Difference]: With dead ends: 294 [2022-04-27 13:11:20,975 INFO L226 Difference]: Without dead ends: 290 [2022-04-27 13:11:20,975 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 291 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=302, Invalid=1420, Unknown=0, NotChecked=0, Total=1722 [2022-04-27 13:11:20,976 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 141 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 1039 mSolverCounterSat, 316 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 307 SdHoareTripleChecker+Invalid, 1355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 316 IncrementalHoareTripleChecker+Valid, 1039 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:11:20,976 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [148 Valid, 307 Invalid, 1355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [316 Valid, 1039 Invalid, 0 Unknown, 0 Unchecked, 4.4s Time] [2022-04-27 13:11:20,976 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 290 states. [2022-04-27 13:11:21,633 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 290 to 243. [2022-04-27 13:11:21,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:11:21,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 290 states. Second operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:21,634 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:21,634 INFO L87 Difference]: Start difference. First operand 290 states. Second operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:21,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:21,641 INFO L93 Difference]: Finished difference Result 290 states and 418 transitions. [2022-04-27 13:11:21,641 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 418 transitions. [2022-04-27 13:11:21,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:21,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:21,642 INFO L74 IsIncluded]: Start isIncluded. First operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 290 states. [2022-04-27 13:11:21,643 INFO L87 Difference]: Start difference. First operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 290 states. [2022-04-27 13:11:21,650 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:21,650 INFO L93 Difference]: Finished difference Result 290 states and 418 transitions. [2022-04-27 13:11:21,650 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 418 transitions. [2022-04-27 13:11:21,651 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:21,651 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:21,651 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:11:21,651 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:11:21,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 243 states, 143 states have (on average 1.1888111888111887) internal successors, (170), 151 states have internal predecessors, (170), 85 states have call successors, (85), 15 states have call predecessors, (85), 14 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:21,656 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 243 states to 243 states and 338 transitions. [2022-04-27 13:11:21,656 INFO L78 Accepts]: Start accepts. Automaton has 243 states and 338 transitions. Word has length 64 [2022-04-27 13:11:21,656 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:11:21,657 INFO L495 AbstractCegarLoop]: Abstraction has 243 states and 338 transitions. [2022-04-27 13:11:21,657 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 18 states have (on average 2.4444444444444446) internal successors, (44), 19 states have internal predecessors, (44), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:11:21,657 INFO L276 IsEmpty]: Start isEmpty. Operand 243 states and 338 transitions. [2022-04-27 13:11:21,657 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-27 13:11:21,657 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:11:21,657 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:11:21,682 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Ended with exit code 0 [2022-04-27 13:11:21,873 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:11:21,873 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:11:21,874 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:11:21,874 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-27 13:11:21,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:11:21,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [615800784] [2022-04-27 13:11:21,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:21,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:11:21,888 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:11:21,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1579663128] [2022-04-27 13:11:21,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:21,888 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:11:21,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:11:21,889 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:11:21,890 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:11:21,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:21,942 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 13:11:21,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:21,952 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:11:22,175 INFO L272 TraceCheckUtils]: 0: Hoare triple {9399#true} call ULTIMATE.init(); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {9399#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); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9399#true} {9399#true} #112#return; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L272 TraceCheckUtils]: 4: Hoare triple {9399#true} call #t~ret6 := main(); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 5: Hoare triple {9399#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L272 TraceCheckUtils]: 6: Hoare triple {9399#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 8: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9399#true} {9399#true} #94#return; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {9399#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {9399#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 15: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9399#true} {9399#true} #96#return; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L272 TraceCheckUtils]: 17: Hoare triple {9399#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9399#true} {9399#true} #98#return; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L272 TraceCheckUtils]: 22: Hoare triple {9399#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 23: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9399#true} {9399#true} #100#return; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 27: Hoare triple {9399#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 28: Hoare triple {9399#true} assume !false; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 29: Hoare triple {9399#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {9399#true} is VALID [2022-04-27 13:11:22,176 INFO L290 TraceCheckUtils]: 30: Hoare triple {9399#true} assume !false; {9399#true} is VALID [2022-04-27 13:11:22,177 INFO L290 TraceCheckUtils]: 31: Hoare triple {9399#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,177 INFO L290 TraceCheckUtils]: 32: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,177 INFO L272 TraceCheckUtils]: 33: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,177 INFO L290 TraceCheckUtils]: 34: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,177 INFO L290 TraceCheckUtils]: 35: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,177 INFO L290 TraceCheckUtils]: 36: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,178 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9399#true} {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,178 INFO L272 TraceCheckUtils]: 38: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,178 INFO L290 TraceCheckUtils]: 39: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,178 INFO L290 TraceCheckUtils]: 40: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,178 INFO L290 TraceCheckUtils]: 41: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,178 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9399#true} {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,179 INFO L272 TraceCheckUtils]: 43: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,179 INFO L290 TraceCheckUtils]: 44: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,179 INFO L290 TraceCheckUtils]: 45: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,179 INFO L290 TraceCheckUtils]: 46: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,179 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9399#true} {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,179 INFO L272 TraceCheckUtils]: 48: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {9399#true} ~cond := #in~cond; {9552#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:22,180 INFO L290 TraceCheckUtils]: 50: Hoare triple {9552#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:22,180 INFO L290 TraceCheckUtils]: 51: Hoare triple {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:22,180 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #108#return; {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:22,181 INFO L290 TraceCheckUtils]: 53: Hoare triple {9497#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-27 13:11:22,181 INFO L290 TraceCheckUtils]: 54: Hoare triple {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} assume !false; {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-27 13:11:22,181 INFO L272 TraceCheckUtils]: 55: Hoare triple {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,181 INFO L290 TraceCheckUtils]: 56: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,181 INFO L290 TraceCheckUtils]: 57: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,181 INFO L290 TraceCheckUtils]: 58: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,182 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9399#true} {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #102#return; {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-27 13:11:22,182 INFO L272 TraceCheckUtils]: 60: Hoare triple {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,182 INFO L290 TraceCheckUtils]: 61: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,182 INFO L290 TraceCheckUtils]: 62: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,182 INFO L290 TraceCheckUtils]: 63: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,183 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9399#true} {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #104#return; {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-27 13:11:22,183 INFO L272 TraceCheckUtils]: 65: Hoare triple {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:22,183 INFO L290 TraceCheckUtils]: 66: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:22,183 INFO L290 TraceCheckUtils]: 67: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:22,183 INFO L290 TraceCheckUtils]: 68: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:22,184 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9399#true} {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #106#return; {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-27 13:11:22,184 INFO L272 TraceCheckUtils]: 70: Hoare triple {9566#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9618#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:22,185 INFO L290 TraceCheckUtils]: 71: Hoare triple {9618#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9622#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:22,185 INFO L290 TraceCheckUtils]: 72: Hoare triple {9622#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9400#false} is VALID [2022-04-27 13:11:22,185 INFO L290 TraceCheckUtils]: 73: Hoare triple {9400#false} assume !false; {9400#false} is VALID [2022-04-27 13:11:22,185 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 22 proven. 15 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-27 13:11:22,185 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:11:29,891 INFO L290 TraceCheckUtils]: 73: Hoare triple {9400#false} assume !false; {9400#false} is VALID [2022-04-27 13:11:29,892 INFO L290 TraceCheckUtils]: 72: Hoare triple {9622#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9400#false} is VALID [2022-04-27 13:11:29,892 INFO L290 TraceCheckUtils]: 71: Hoare triple {9618#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9622#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:29,892 INFO L272 TraceCheckUtils]: 70: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9618#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:29,893 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9399#true} {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,893 INFO L290 TraceCheckUtils]: 68: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,893 INFO L290 TraceCheckUtils]: 67: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,893 INFO L290 TraceCheckUtils]: 66: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,893 INFO L272 TraceCheckUtils]: 65: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,894 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9399#true} {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,894 INFO L290 TraceCheckUtils]: 63: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,894 INFO L290 TraceCheckUtils]: 62: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,894 INFO L290 TraceCheckUtils]: 61: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,894 INFO L272 TraceCheckUtils]: 60: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,894 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {9399#true} {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,894 INFO L290 TraceCheckUtils]: 58: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,895 INFO L290 TraceCheckUtils]: 57: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,895 INFO L290 TraceCheckUtils]: 56: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,895 INFO L272 TraceCheckUtils]: 55: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,895 INFO L290 TraceCheckUtils]: 54: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,897 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} {9399#true} #108#return; {9638#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-27 13:11:29,897 INFO L290 TraceCheckUtils]: 51: Hoare triple {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 50: Hoare triple {9702#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9556#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 49: Hoare triple {9399#true} ~cond := #in~cond; {9702#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:11:29,898 INFO L272 TraceCheckUtils]: 48: Hoare triple {9399#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {9399#true} {9399#true} #106#return; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 46: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 44: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L272 TraceCheckUtils]: 43: Hoare triple {9399#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {9399#true} {9399#true} #104#return; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 41: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 40: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L290 TraceCheckUtils]: 39: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,898 INFO L272 TraceCheckUtils]: 38: Hoare triple {9399#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9399#true} {9399#true} #102#return; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 35: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 34: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L272 TraceCheckUtils]: 33: Hoare triple {9399#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 32: Hoare triple {9399#true} assume !false; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 31: Hoare triple {9399#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 30: Hoare triple {9399#true} assume !false; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 29: Hoare triple {9399#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 28: Hoare triple {9399#true} assume !false; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 27: Hoare triple {9399#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9399#true} {9399#true} #100#return; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 25: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 24: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 23: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L272 TraceCheckUtils]: 22: Hoare triple {9399#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9399#true} {9399#true} #98#return; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 20: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 19: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L290 TraceCheckUtils]: 18: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L272 TraceCheckUtils]: 17: Hoare triple {9399#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,899 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9399#true} {9399#true} #96#return; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 13: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L272 TraceCheckUtils]: 12: Hoare triple {9399#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 11: Hoare triple {9399#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9399#true} {9399#true} #94#return; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 9: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 8: Hoare triple {9399#true} assume !(0 == ~cond); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 7: Hoare triple {9399#true} ~cond := #in~cond; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L272 TraceCheckUtils]: 6: Hoare triple {9399#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 5: Hoare triple {9399#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L272 TraceCheckUtils]: 4: Hoare triple {9399#true} call #t~ret6 := main(); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9399#true} {9399#true} #112#return; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 2: Hoare triple {9399#true} assume true; {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L290 TraceCheckUtils]: 1: Hoare triple {9399#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); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L272 TraceCheckUtils]: 0: Hoare triple {9399#true} call ULTIMATE.init(); {9399#true} is VALID [2022-04-27 13:11:29,900 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 27 proven. 10 refuted. 0 times theorem prover too weak. 90 trivial. 0 not checked. [2022-04-27 13:11:29,901 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:11:29,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [615800784] [2022-04-27 13:11:29,901 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:11:29,901 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1579663128] [2022-04-27 13:11:29,901 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1579663128] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:11:29,901 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:11:29,901 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 10 [2022-04-27 13:11:29,901 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1393410023] [2022-04-27 13:11:29,901 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:11:29,901 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 74 [2022-04-27 13:11:29,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:11:29,902 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:11:29,950 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:29,950 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:11:29,954 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:11:29,954 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:11:29,955 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:11:29,955 INFO L87 Difference]: Start difference. First operand 243 states and 338 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:11:31,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:31,322 INFO L93 Difference]: Finished difference Result 347 states and 502 transitions. [2022-04-27 13:11:31,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:11:31,323 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 74 [2022-04-27 13:11:31,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:11:31,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:11:31,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2022-04-27 13:11:31,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:11:31,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 85 transitions. [2022-04-27 13:11:31,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 85 transitions. [2022-04-27 13:11:31,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:31,421 INFO L225 Difference]: With dead ends: 347 [2022-04-27 13:11:31,421 INFO L226 Difference]: Without dead ends: 345 [2022-04-27 13:11:31,422 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 149 GetRequests, 136 SyntacticMatches, 3 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:11:31,422 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 29 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 194 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 197 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 194 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:11:31,422 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 197 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 194 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:11:31,422 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 345 states. [2022-04-27 13:11:31,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 345 to 247. [2022-04-27 13:11:31,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:11:31,914 INFO L82 GeneralOperation]: Start isEquivalent. First operand 345 states. Second operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:31,914 INFO L74 IsIncluded]: Start isIncluded. First operand 345 states. Second operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:31,914 INFO L87 Difference]: Start difference. First operand 345 states. Second operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:31,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:31,922 INFO L93 Difference]: Finished difference Result 345 states and 500 transitions. [2022-04-27 13:11:31,922 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 500 transitions. [2022-04-27 13:11:31,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:31,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:31,923 INFO L74 IsIncluded]: Start isIncluded. First operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 345 states. [2022-04-27 13:11:31,923 INFO L87 Difference]: Start difference. First operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 345 states. [2022-04-27 13:11:31,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:31,931 INFO L93 Difference]: Finished difference Result 345 states and 500 transitions. [2022-04-27 13:11:31,931 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 500 transitions. [2022-04-27 13:11:31,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:31,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:31,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:11:31,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:11:31,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 247 states, 146 states have (on average 1.1849315068493151) internal successors, (173), 154 states have internal predecessors, (173), 85 states have call successors, (85), 16 states have call predecessors, (85), 15 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:31,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 341 transitions. [2022-04-27 13:11:31,937 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 341 transitions. Word has length 74 [2022-04-27 13:11:31,937 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:11:31,937 INFO L495 AbstractCegarLoop]: Abstraction has 247 states and 341 transitions. [2022-04-27 13:11:31,938 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 4 states have call successors, (22), 2 states have call predecessors, (22), 2 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:11:31,938 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 341 transitions. [2022-04-27 13:11:31,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-27 13:11:31,938 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:11:31,938 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:11:31,954 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:11:32,153 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:11:32,154 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:11:32,154 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:11:32,154 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-27 13:11:32,154 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:11:32,154 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2123797635] [2022-04-27 13:11:32,155 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:32,155 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:11:32,176 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:11:32,176 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [855284876] [2022-04-27 13:11:32,176 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:32,176 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:11:32,176 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:11:32,197 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:11:32,204 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:11:32,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:32,246 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-27 13:11:32,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:32,254 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:11:34,485 INFO L272 TraceCheckUtils]: 0: Hoare triple {11485#true} call ULTIMATE.init(); {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {11485#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); {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11485#true} {11485#true} #112#return; {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L272 TraceCheckUtils]: 4: Hoare triple {11485#true} call #t~ret6 := main(); {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L290 TraceCheckUtils]: 5: Hoare triple {11485#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {11485#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11485#true} {11485#true} #94#return; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 11: Hoare triple {11485#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L272 TraceCheckUtils]: 12: Hoare triple {11485#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11485#true} {11485#true} #96#return; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L272 TraceCheckUtils]: 17: Hoare triple {11485#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11485#true} {11485#true} #98#return; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L272 TraceCheckUtils]: 22: Hoare triple {11485#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 23: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,486 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11485#true} {11485#true} #100#return; {11485#true} is VALID [2022-04-27 13:11:34,487 INFO L290 TraceCheckUtils]: 27: Hoare triple {11485#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11571#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,487 INFO L290 TraceCheckUtils]: 28: Hoare triple {11571#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11571#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,487 INFO L290 TraceCheckUtils]: 29: Hoare triple {11571#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,488 INFO L290 TraceCheckUtils]: 30: Hoare triple {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,488 INFO L290 TraceCheckUtils]: 31: Hoare triple {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,488 INFO L290 TraceCheckUtils]: 32: Hoare triple {11578#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,488 INFO L290 TraceCheckUtils]: 33: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,489 INFO L290 TraceCheckUtils]: 35: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,489 INFO L290 TraceCheckUtils]: 36: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,490 INFO L290 TraceCheckUtils]: 37: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,490 INFO L272 TraceCheckUtils]: 38: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,490 INFO L290 TraceCheckUtils]: 39: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,490 INFO L290 TraceCheckUtils]: 40: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,490 INFO L290 TraceCheckUtils]: 41: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,490 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11485#true} {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #102#return; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,490 INFO L272 TraceCheckUtils]: 43: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,490 INFO L290 TraceCheckUtils]: 44: Hoare triple {11485#true} ~cond := #in~cond; {11625#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:34,491 INFO L290 TraceCheckUtils]: 45: Hoare triple {11625#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:34,491 INFO L290 TraceCheckUtils]: 46: Hoare triple {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:34,491 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #104#return; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,491 INFO L272 TraceCheckUtils]: 48: Hoare triple {11588#(and (= main_~s~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)); {11485#true} is VALID [2022-04-27 13:11:34,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,491 INFO L290 TraceCheckUtils]: 50: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,491 INFO L290 TraceCheckUtils]: 51: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,492 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11485#true} {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #106#return; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,492 INFO L272 TraceCheckUtils]: 53: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:34,492 INFO L290 TraceCheckUtils]: 54: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:34,492 INFO L290 TraceCheckUtils]: 55: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:34,492 INFO L290 TraceCheckUtils]: 56: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:34,492 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11485#true} {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #108#return; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,493 INFO L290 TraceCheckUtils]: 58: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,493 INFO L290 TraceCheckUtils]: 59: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,495 INFO L290 TraceCheckUtils]: 60: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,495 INFO L290 TraceCheckUtils]: 61: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {11588#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:11:34,495 INFO L290 TraceCheckUtils]: 62: Hoare triple {11588#(and (= main_~s~0 0) (= main_~b~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; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,496 INFO L290 TraceCheckUtils]: 63: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,496 INFO L290 TraceCheckUtils]: 64: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,496 INFO L290 TraceCheckUtils]: 65: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,496 INFO L290 TraceCheckUtils]: 66: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,497 INFO L290 TraceCheckUtils]: 67: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:11:34,497 INFO L272 TraceCheckUtils]: 68: Hoare triple {11681#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11700#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:34,497 INFO L290 TraceCheckUtils]: 69: Hoare triple {11700#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11704#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:34,498 INFO L290 TraceCheckUtils]: 70: Hoare triple {11704#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11486#false} is VALID [2022-04-27 13:11:34,498 INFO L290 TraceCheckUtils]: 71: Hoare triple {11486#false} assume !false; {11486#false} is VALID [2022-04-27 13:11:34,499 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 10 proven. 26 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-27 13:11:34,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:11:47,681 INFO L290 TraceCheckUtils]: 71: Hoare triple {11486#false} assume !false; {11486#false} is VALID [2022-04-27 13:11:47,681 INFO L290 TraceCheckUtils]: 70: Hoare triple {11704#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11486#false} is VALID [2022-04-27 13:11:47,682 INFO L290 TraceCheckUtils]: 69: Hoare triple {11700#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11704#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:47,682 INFO L272 TraceCheckUtils]: 68: Hoare triple {11720#(= 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)); {11700#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:47,683 INFO L290 TraceCheckUtils]: 67: Hoare triple {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,690 INFO L290 TraceCheckUtils]: 66: Hoare triple {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,691 INFO L290 TraceCheckUtils]: 65: Hoare triple {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,691 INFO L290 TraceCheckUtils]: 64: Hoare triple {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,691 INFO L290 TraceCheckUtils]: 63: Hoare triple {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,692 INFO L290 TraceCheckUtils]: 62: Hoare triple {11739#(= 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; {11720#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:11:47,692 INFO L290 TraceCheckUtils]: 61: Hoare triple {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,692 INFO L290 TraceCheckUtils]: 60: Hoare triple {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,693 INFO L290 TraceCheckUtils]: 59: Hoare triple {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,693 INFO L290 TraceCheckUtils]: 58: Hoare triple {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,694 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11485#true} {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,694 INFO L290 TraceCheckUtils]: 56: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,694 INFO L290 TraceCheckUtils]: 55: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,694 INFO L290 TraceCheckUtils]: 54: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,694 INFO L272 TraceCheckUtils]: 53: Hoare triple {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,695 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11485#true} {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,695 INFO L290 TraceCheckUtils]: 51: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,695 INFO L290 TraceCheckUtils]: 50: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,695 INFO L290 TraceCheckUtils]: 49: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,695 INFO L272 TraceCheckUtils]: 48: Hoare triple {11739#(= 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)); {11485#true} is VALID [2022-04-27 13:11:47,696 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} {11485#true} #104#return; {11739#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:11:47,696 INFO L290 TraceCheckUtils]: 46: Hoare triple {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:47,696 INFO L290 TraceCheckUtils]: 45: Hoare triple {11794#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11629#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:47,696 INFO L290 TraceCheckUtils]: 44: Hoare triple {11485#true} ~cond := #in~cond; {11794#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:11:47,697 INFO L272 TraceCheckUtils]: 43: Hoare triple {11485#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11485#true} {11485#true} #102#return; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 41: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 40: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 39: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L272 TraceCheckUtils]: 38: Hoare triple {11485#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 37: Hoare triple {11485#true} assume !false; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 36: Hoare triple {11485#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 35: Hoare triple {11485#true} assume !false; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 34: Hoare triple {11485#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 33: Hoare triple {11485#true} assume !false; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {11485#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; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {11485#true} assume !(~c~0 >= ~b~0); {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {11485#true} assume !false; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 29: Hoare triple {11485#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 28: Hoare triple {11485#true} assume !false; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 27: Hoare triple {11485#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11485#true} {11485#true} #100#return; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 25: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 24: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,697 INFO L290 TraceCheckUtils]: 23: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L272 TraceCheckUtils]: 22: Hoare triple {11485#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11485#true} {11485#true} #98#return; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 19: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 18: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L272 TraceCheckUtils]: 17: Hoare triple {11485#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11485#true} {11485#true} #96#return; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 15: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L272 TraceCheckUtils]: 12: Hoare triple {11485#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 11: Hoare triple {11485#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11485#true} {11485#true} #94#return; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {11485#true} assume !(0 == ~cond); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {11485#true} ~cond := #in~cond; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L272 TraceCheckUtils]: 6: Hoare triple {11485#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 5: Hoare triple {11485#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {11485#true} call #t~ret6 := main(); {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11485#true} {11485#true} #112#return; {11485#true} is VALID [2022-04-27 13:11:47,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {11485#true} assume true; {11485#true} is VALID [2022-04-27 13:11:47,699 INFO L290 TraceCheckUtils]: 1: Hoare triple {11485#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); {11485#true} is VALID [2022-04-27 13:11:47,699 INFO L272 TraceCheckUtils]: 0: Hoare triple {11485#true} call ULTIMATE.init(); {11485#true} is VALID [2022-04-27 13:11:47,699 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-27 13:11:47,699 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:11:47,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2123797635] [2022-04-27 13:11:47,699 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:11:47,699 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [855284876] [2022-04-27 13:11:47,699 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [855284876] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:11:47,699 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:11:47,699 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-27 13:11:47,699 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [391128288] [2022-04-27 13:11:47,699 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:11:47,700 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 72 [2022-04-27 13:11:47,700 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:11:47,700 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:11:47,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:47,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:11:47,764 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:11:47,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:11:47,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:11:47,764 INFO L87 Difference]: Start difference. First operand 247 states and 341 transitions. Second operand has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:11:49,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:49,669 INFO L93 Difference]: Finished difference Result 323 states and 453 transitions. [2022-04-27 13:11:49,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:11:49,669 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 72 [2022-04-27 13:11:49,670 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:11:49,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:11:49,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-27 13:11:49,671 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:11:49,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 135 transitions. [2022-04-27 13:11:49,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 135 transitions. [2022-04-27 13:11:49,799 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:11:49,805 INFO L225 Difference]: With dead ends: 323 [2022-04-27 13:11:49,805 INFO L226 Difference]: Without dead ends: 321 [2022-04-27 13:11:49,805 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=78, Invalid=302, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:11:49,806 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 69 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 306 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 366 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 306 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:11:49,806 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 203 Invalid, 366 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 306 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:11:49,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 321 states. [2022-04-27 13:11:50,430 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 321 to 259. [2022-04-27 13:11:50,430 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:11:50,430 INFO L82 GeneralOperation]: Start isEquivalent. First operand 321 states. Second operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:50,431 INFO L74 IsIncluded]: Start isIncluded. First operand 321 states. Second operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:50,431 INFO L87 Difference]: Start difference. First operand 321 states. Second operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:50,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:50,438 INFO L93 Difference]: Finished difference Result 321 states and 451 transitions. [2022-04-27 13:11:50,438 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 451 transitions. [2022-04-27 13:11:50,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:50,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:50,440 INFO L74 IsIncluded]: Start isIncluded. First operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 321 states. [2022-04-27 13:11:50,440 INFO L87 Difference]: Start difference. First operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) Second operand 321 states. [2022-04-27 13:11:50,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:50,447 INFO L93 Difference]: Finished difference Result 321 states and 451 transitions. [2022-04-27 13:11:50,447 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 451 transitions. [2022-04-27 13:11:50,447 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:50,447 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:50,447 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:11:50,447 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:11:50,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 259 states, 155 states have (on average 1.1741935483870967) internal successors, (182), 163 states have internal predecessors, (182), 85 states have call successors, (85), 19 states have call predecessors, (85), 18 states have return successors, (83), 76 states have call predecessors, (83), 83 states have call successors, (83) [2022-04-27 13:11:50,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 259 states to 259 states and 350 transitions. [2022-04-27 13:11:50,453 INFO L78 Accepts]: Start accepts. Automaton has 259 states and 350 transitions. Word has length 72 [2022-04-27 13:11:50,453 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:11:50,453 INFO L495 AbstractCegarLoop]: Abstraction has 259 states and 350 transitions. [2022-04-27 13:11:50,454 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 12 states have internal predecessors, (56), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:11:50,454 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 350 transitions. [2022-04-27 13:11:50,454 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-27 13:11:50,454 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:11:50,454 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:11:50,471 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-27 13:11:50,667 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:11:50,667 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:11:50,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:11:50,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 2 times [2022-04-27 13:11:50,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:11:50,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1449083655] [2022-04-27 13:11:50,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:50,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:11:50,690 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:11:50,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [534233951] [2022-04-27 13:11:50,690 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:11:50,690 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:11:50,690 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:11:50,694 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:11:50,695 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:11:50,739 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:11:50,739 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:11:50,740 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:11:50,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:50,753 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:11:50,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {13512#true} call ULTIMATE.init(); {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {13512#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); {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13512#true} {13512#true} #112#return; {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L272 TraceCheckUtils]: 4: Hoare triple {13512#true} call #t~ret6 := main(); {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {13512#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L272 TraceCheckUtils]: 6: Hoare triple {13512#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 7: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13512#true} {13512#true} #94#return; {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {13512#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L272 TraceCheckUtils]: 12: Hoare triple {13512#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L290 TraceCheckUtils]: 13: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L290 TraceCheckUtils]: 14: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L290 TraceCheckUtils]: 15: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,956 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13512#true} {13512#true} #96#return; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L272 TraceCheckUtils]: 17: Hoare triple {13512#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13512#true} {13512#true} #98#return; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L272 TraceCheckUtils]: 22: Hoare triple {13512#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 23: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 24: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 25: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13512#true} {13512#true} #100#return; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 27: Hoare triple {13512#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 28: Hoare triple {13512#true} assume !false; {13512#true} is VALID [2022-04-27 13:11:50,961 INFO L290 TraceCheckUtils]: 29: Hoare triple {13512#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 30: Hoare triple {13512#true} assume !false; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 31: Hoare triple {13512#true} assume !(~c~0 >= ~b~0); {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 32: Hoare triple {13512#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; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 33: Hoare triple {13512#true} assume !false; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 34: Hoare triple {13512#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 35: Hoare triple {13512#true} assume !false; {13512#true} is VALID [2022-04-27 13:11:50,962 INFO L290 TraceCheckUtils]: 36: Hoare triple {13512#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,963 INFO L290 TraceCheckUtils]: 37: Hoare triple {13625#(<= main_~v~0 main_~b~0)} assume !false; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,963 INFO L272 TraceCheckUtils]: 38: Hoare triple {13625#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,963 INFO L290 TraceCheckUtils]: 39: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,963 INFO L290 TraceCheckUtils]: 40: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,963 INFO L290 TraceCheckUtils]: 41: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,963 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13512#true} {13625#(<= main_~v~0 main_~b~0)} #102#return; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,963 INFO L272 TraceCheckUtils]: 43: Hoare triple {13625#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,963 INFO L290 TraceCheckUtils]: 44: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L290 TraceCheckUtils]: 45: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L290 TraceCheckUtils]: 46: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13512#true} {13625#(<= main_~v~0 main_~b~0)} #104#return; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,964 INFO L272 TraceCheckUtils]: 48: Hoare triple {13625#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L290 TraceCheckUtils]: 49: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L290 TraceCheckUtils]: 50: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,964 INFO L290 TraceCheckUtils]: 51: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,965 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13512#true} {13625#(<= main_~v~0 main_~b~0)} #106#return; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,965 INFO L272 TraceCheckUtils]: 53: Hoare triple {13625#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13512#true} is VALID [2022-04-27 13:11:50,965 INFO L290 TraceCheckUtils]: 54: Hoare triple {13512#true} ~cond := #in~cond; {13512#true} is VALID [2022-04-27 13:11:50,965 INFO L290 TraceCheckUtils]: 55: Hoare triple {13512#true} assume !(0 == ~cond); {13512#true} is VALID [2022-04-27 13:11:50,965 INFO L290 TraceCheckUtils]: 56: Hoare triple {13512#true} assume true; {13512#true} is VALID [2022-04-27 13:11:50,965 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13512#true} {13625#(<= main_~v~0 main_~b~0)} #108#return; {13625#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:11:50,966 INFO L290 TraceCheckUtils]: 58: Hoare triple {13625#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13692#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:11:50,966 INFO L290 TraceCheckUtils]: 59: Hoare triple {13692#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13696#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 60: Hoare triple {13696#(< main_~c~0 main_~b~0)} assume !false; {13696#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 61: Hoare triple {13696#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 62: Hoare triple {13513#false} assume !false; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L272 TraceCheckUtils]: 63: Hoare triple {13513#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 64: Hoare triple {13513#false} ~cond := #in~cond; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 65: Hoare triple {13513#false} assume !(0 == ~cond); {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 66: Hoare triple {13513#false} assume true; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13513#false} {13513#false} #102#return; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L272 TraceCheckUtils]: 68: Hoare triple {13513#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 69: Hoare triple {13513#false} ~cond := #in~cond; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 70: Hoare triple {13513#false} assume !(0 == ~cond); {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 71: Hoare triple {13513#false} assume true; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13513#false} {13513#false} #104#return; {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L272 TraceCheckUtils]: 73: Hoare triple {13513#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13513#false} is VALID [2022-04-27 13:11:50,967 INFO L290 TraceCheckUtils]: 74: Hoare triple {13513#false} ~cond := #in~cond; {13513#false} is VALID [2022-04-27 13:11:50,968 INFO L290 TraceCheckUtils]: 75: Hoare triple {13513#false} assume 0 == ~cond; {13513#false} is VALID [2022-04-27 13:11:50,968 INFO L290 TraceCheckUtils]: 76: Hoare triple {13513#false} assume !false; {13513#false} is VALID [2022-04-27 13:11:50,968 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:11:50,968 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:11:50,968 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:11:50,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1449083655] [2022-04-27 13:11:50,968 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:11:50,968 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [534233951] [2022-04-27 13:11:50,968 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [534233951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:11:50,968 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:11:50,968 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:11:50,968 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [991320608] [2022-04-27 13:11:50,968 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:11:50,969 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-27 13:11:50,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:11:50,969 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 13:11:51,020 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:51,020 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:11:51,020 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:11:51,021 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:11:51,021 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:11:51,021 INFO L87 Difference]: Start difference. First operand 259 states and 350 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 13:11:51,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:51,647 INFO L93 Difference]: Finished difference Result 449 states and 606 transitions. [2022-04-27 13:11:51,647 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:11:51,647 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-27 13:11:51,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:11:51,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 13:11:51,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-27 13:11:51,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 13:11:51,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-27 13:11:51,649 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-27 13:11:51,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:11:51,734 INFO L225 Difference]: With dead ends: 449 [2022-04-27 13:11:51,734 INFO L226 Difference]: Without dead ends: 264 [2022-04-27 13:11:51,736 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:11:51,736 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:11:51,736 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 139 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:11:51,737 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-27 13:11:52,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 255. [2022-04-27 13:11:52,195 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:11:52,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 13:11:52,196 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 13:11:52,201 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 13:11:52,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:52,206 INFO L93 Difference]: Finished difference Result 264 states and 348 transitions. [2022-04-27 13:11:52,206 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 348 transitions. [2022-04-27 13:11:52,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:52,207 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:52,207 INFO L74 IsIncluded]: Start isIncluded. First operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) Second operand 264 states. [2022-04-27 13:11:52,208 INFO L87 Difference]: Start difference. First operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) Second operand 264 states. [2022-04-27 13:11:52,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:11:52,212 INFO L93 Difference]: Finished difference Result 264 states and 348 transitions. [2022-04-27 13:11:52,212 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 348 transitions. [2022-04-27 13:11:52,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:11:52,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:11:52,213 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:11:52,213 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:11:52,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 255 states, 160 states have (on average 1.16875) internal successors, (187), 162 states have internal predecessors, (187), 77 states have call successors, (77), 18 states have call predecessors, (77), 17 states have return successors, (75), 74 states have call predecessors, (75), 75 states have call successors, (75) [2022-04-27 13:11:52,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 255 states to 255 states and 339 transitions. [2022-04-27 13:11:52,218 INFO L78 Accepts]: Start accepts. Automaton has 255 states and 339 transitions. Word has length 77 [2022-04-27 13:11:52,218 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:11:52,218 INFO L495 AbstractCegarLoop]: Abstraction has 255 states and 339 transitions. [2022-04-27 13:11:52,219 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-27 13:11:52,219 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 339 transitions. [2022-04-27 13:11:52,219 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-27 13:11:52,219 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:11:52,219 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:11:52,237 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:11:52,427 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:11:52,427 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:11:52,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:11:52,428 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 3 times [2022-04-27 13:11:52,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:11:52,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [899247628] [2022-04-27 13:11:52,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:11:52,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:11:52,442 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:11:52,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1387662943] [2022-04-27 13:11:52,444 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:11:52,444 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:11:52,444 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:11:52,455 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:11:52,458 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:11:52,504 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 13:11:52,504 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:11:52,505 INFO L263 TraceCheckSpWp]: Trace formula consists of 178 conjuncts, 73 conjunts are in the unsatisfiable core [2022-04-27 13:11:52,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:11:52,518 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:11:53,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {15367#true} call ULTIMATE.init(); {15367#true} is VALID [2022-04-27 13:11:53,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {15367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15367#true} is VALID [2022-04-27 13:11:53,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15367#true} {15367#true} #112#return; {15367#true} is VALID [2022-04-27 13:11:53,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {15367#true} call #t~ret6 := main(); {15367#true} is VALID [2022-04-27 13:11:53,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {15367#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15367#true} is VALID [2022-04-27 13:11:53,536 INFO L272 TraceCheckUtils]: 6: Hoare triple {15367#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {15367#true} ~cond := #in~cond; {15393#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:11:53,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {15393#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15397#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:11:53,536 INFO L290 TraceCheckUtils]: 9: Hoare triple {15397#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15397#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:11:53,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15397#(not (= |assume_abort_if_not_#in~cond| 0))} {15367#true} #94#return; {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:11:53,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:11:53,537 INFO L272 TraceCheckUtils]: 12: Hoare triple {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,537 INFO L290 TraceCheckUtils]: 15: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,537 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15367#true} {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #96#return; {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:11:53,537 INFO L272 TraceCheckUtils]: 17: Hoare triple {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 18: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 19: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 20: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15367#true} {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #98#return; {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:11:53,538 INFO L272 TraceCheckUtils]: 22: Hoare triple {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 23: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 24: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L290 TraceCheckUtils]: 25: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,538 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15367#true} {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} #100#return; {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} is VALID [2022-04-27 13:11:53,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {15404#(and (<= main_~x~0 20) (<= 0 main_~x~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15456#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:11:53,539 INFO L290 TraceCheckUtils]: 28: Hoare triple {15456#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15456#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:11:53,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {15456#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15463#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:11:53,539 INFO L290 TraceCheckUtils]: 30: Hoare triple {15463#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15463#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:11:53,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {15463#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15470#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:11:53,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {15470#(and (= main_~r~0 0) (<= main_~x~0 20) (= main_~k~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15474#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 13:11:53,540 INFO L290 TraceCheckUtils]: 33: Hoare triple {15474#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15474#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 13:11:53,541 INFO L290 TraceCheckUtils]: 34: Hoare triple {15474#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15481#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 13:11:53,541 INFO L290 TraceCheckUtils]: 35: Hoare triple {15481#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15481#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-27 13:11:53,541 INFO L290 TraceCheckUtils]: 36: Hoare triple {15481#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 37: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,542 INFO L272 TraceCheckUtils]: 38: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 39: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 40: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15367#true} {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,542 INFO L272 TraceCheckUtils]: 43: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 44: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,542 INFO L290 TraceCheckUtils]: 45: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,543 INFO L290 TraceCheckUtils]: 46: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,543 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15367#true} {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,543 INFO L272 TraceCheckUtils]: 48: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,543 INFO L290 TraceCheckUtils]: 49: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,543 INFO L290 TraceCheckUtils]: 50: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,543 INFO L290 TraceCheckUtils]: 51: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,544 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15367#true} {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,544 INFO L272 TraceCheckUtils]: 53: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,544 INFO L290 TraceCheckUtils]: 54: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:11:53,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:11:53,544 INFO L290 TraceCheckUtils]: 56: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:11:53,544 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15367#true} {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,544 INFO L290 TraceCheckUtils]: 58: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-27 13:11:53,545 INFO L290 TraceCheckUtils]: 59: Hoare triple {15488#(and (= main_~b~0 main_~v~0) (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15558#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:11:53,545 INFO L290 TraceCheckUtils]: 60: Hoare triple {15558#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15558#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:11:53,545 INFO L290 TraceCheckUtils]: 61: Hoare triple {15558#(and (<= main_~x~0 20) (= main_~s~0 0) (not (<= main_~y~0 main_~x~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15565#(and (<= main_~x~0 20) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (< main_~c~0 main_~b~0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-27 13:11:53,547 INFO L290 TraceCheckUtils]: 62: Hoare triple {15565#(and (<= main_~x~0 20) (= main_~s~0 0) (= main_~p~0 0) (< main_~x~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (< main_~c~0 main_~b~0) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,547 INFO L290 TraceCheckUtils]: 63: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,548 INFO L290 TraceCheckUtils]: 64: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,548 INFO L290 TraceCheckUtils]: 65: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,548 INFO L290 TraceCheckUtils]: 66: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,549 INFO L290 TraceCheckUtils]: 67: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-27 13:11:53,549 INFO L272 TraceCheckUtils]: 68: Hoare triple {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:11:53,549 INFO L290 TraceCheckUtils]: 69: Hoare triple {15367#true} ~cond := #in~cond; {15591#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:53,549 INFO L290 TraceCheckUtils]: 70: Hoare triple {15591#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:53,549 INFO L290 TraceCheckUtils]: 71: Hoare triple {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:11:53,551 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} {15569#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (<= main_~x~0 20) (< main_~x~0 main_~y~0) (< main_~y~0 (* main_~a~0 2)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0))} #102#return; {15602#(and (<= main_~x~0 20) (< (* main_~b~0 2) main_~y~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (< main_~x~0 main_~y~0) (= (+ main_~y~0 (* (- 1) main_~b~0)) (* main_~x~0 (* (- 1) main_~q~0))))} is VALID [2022-04-27 13:11:53,551 INFO L272 TraceCheckUtils]: 73: Hoare triple {15602#(and (<= main_~x~0 20) (< (* main_~b~0 2) main_~y~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (< main_~x~0 main_~y~0) (= (+ main_~y~0 (* (- 1) main_~b~0)) (* main_~x~0 (* (- 1) main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15606#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:11:53,551 INFO L290 TraceCheckUtils]: 74: Hoare triple {15606#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15610#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:11:53,552 INFO L290 TraceCheckUtils]: 75: Hoare triple {15610#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15368#false} is VALID [2022-04-27 13:11:53,552 INFO L290 TraceCheckUtils]: 76: Hoare triple {15368#false} assume !false; {15368#false} is VALID [2022-04-27 13:11:53,552 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 21 proven. 32 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-27 13:11:53,552 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:12:25,058 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:12:30,874 INFO L290 TraceCheckUtils]: 76: Hoare triple {15368#false} assume !false; {15368#false} is VALID [2022-04-27 13:12:30,875 INFO L290 TraceCheckUtils]: 75: Hoare triple {15610#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15368#false} is VALID [2022-04-27 13:12:30,875 INFO L290 TraceCheckUtils]: 74: Hoare triple {15606#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15610#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:12:30,876 INFO L272 TraceCheckUtils]: 73: Hoare triple {15626#(= 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)); {15606#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:12:30,877 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {15626#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:12:30,877 INFO L290 TraceCheckUtils]: 71: Hoare triple {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:12:30,877 INFO L290 TraceCheckUtils]: 70: Hoare triple {15640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15595#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:12:30,878 INFO L290 TraceCheckUtils]: 69: Hoare triple {15367#true} ~cond := #in~cond; {15640#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:12:30,878 INFO L272 TraceCheckUtils]: 68: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:30,878 INFO L290 TraceCheckUtils]: 67: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,878 INFO L290 TraceCheckUtils]: 66: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,879 INFO L290 TraceCheckUtils]: 65: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,879 INFO L290 TraceCheckUtils]: 64: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,880 INFO L290 TraceCheckUtils]: 63: Hoare triple {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,896 INFO L290 TraceCheckUtils]: 62: Hoare triple {15662#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15630#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-27 13:12:30,897 INFO L290 TraceCheckUtils]: 61: Hoare triple {15666#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {15662#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:30,897 INFO L290 TraceCheckUtils]: 60: Hoare triple {15666#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} assume !false; {15666#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:30,999 INFO L290 TraceCheckUtils]: 59: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15666#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:30,999 INFO L290 TraceCheckUtils]: 58: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,000 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15367#true} {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,000 INFO L290 TraceCheckUtils]: 56: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:31,000 INFO L290 TraceCheckUtils]: 55: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:31,000 INFO L290 TraceCheckUtils]: 54: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:31,000 INFO L272 TraceCheckUtils]: 53: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:31,001 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15367#true} {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 51: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 50: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:31,001 INFO L290 TraceCheckUtils]: 49: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:31,001 INFO L272 TraceCheckUtils]: 48: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:31,002 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15367#true} {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 46: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 45: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:31,002 INFO L290 TraceCheckUtils]: 44: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:31,002 INFO L272 TraceCheckUtils]: 43: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:31,003 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15367#true} {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 41: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 40: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:31,003 INFO L290 TraceCheckUtils]: 39: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:31,003 INFO L272 TraceCheckUtils]: 38: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:31,004 INFO L290 TraceCheckUtils]: 37: Hoare triple {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,004 INFO L290 TraceCheckUtils]: 36: Hoare triple {15743#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15673#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 35: Hoare triple {15743#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15743#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {15750#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15743#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-27 13:12:31,006 INFO L290 TraceCheckUtils]: 33: Hoare triple {15750#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= (* main_~b~0 2) main_~a~0))} assume !false; {15750#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-27 13:12:33,008 WARN L290 TraceCheckUtils]: 32: Hoare triple {15757#(and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= 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; {15750#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= (* main_~b~0 2) main_~a~0))} is UNKNOWN [2022-04-27 13:12:33,010 INFO L290 TraceCheckUtils]: 31: Hoare triple {15761#(or (and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {15757#(and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= main_~x~0 0))))} is VALID [2022-04-27 13:12:33,011 INFO L290 TraceCheckUtils]: 30: Hoare triple {15761#(or (and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~c~0))} assume !false; {15761#(or (and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:33,013 INFO L290 TraceCheckUtils]: 29: Hoare triple {15768#(or (and (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) main_~a~0) main_~x~0)))) main_~b~0) (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0))) main_~x~0)) (+ (* (- 1) (* (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) main_~x~0)) main_~b~0 (* (- 1) (* main_~y~0 main_~r~0))))) (or (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) main_~b~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15761#(or (and (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)) (<= (+ (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) (* (* main_~y~0 main_~r~0) 2)) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0))) main_~x~0) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)) (* (- 1) (* (+ (* (- 1) main_~q~0 main_~k~0) (div (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0)) main_~x~0))))) (or (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) (+ (* 2 (* main_~q~0 main_~k~0 main_~x~0)) main_~b~0 (* (* main_~k~0 main_~y~0 main_~s~0) 2))) (= (+ (* main_~x~0 (+ main_~q~0 (* (- 1) (* (- 1) main_~q~0 main_~k~0)) (* (- 1) main_~p~0))) (* (+ (* main_~k~0 main_~s~0) main_~s~0 (* (- 1) main_~r~0)) main_~y~0)) (+ (* (- 1) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~b~0 (* (- 1) (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-27 13:12:33,015 INFO L290 TraceCheckUtils]: 28: Hoare triple {15768#(or (and (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) main_~a~0) main_~x~0)))) main_~b~0) (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0))) main_~x~0)) (+ (* (- 1) (* (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) main_~x~0)) main_~b~0 (* (- 1) (* main_~y~0 main_~r~0))))) (or (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) main_~b~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~a~0))} assume !false; {15768#(or (and (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) main_~a~0) main_~x~0)))) main_~b~0) (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0))) main_~x~0)) (+ (* (- 1) (* (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) main_~x~0)) main_~b~0 (* (- 1) (* main_~y~0 main_~r~0))))) (or (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) main_~b~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:12:33,015 INFO L290 TraceCheckUtils]: 27: Hoare triple {15367#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15768#(or (and (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~x~0 (div (+ (* (- 1) main_~y~0 main_~r~0) main_~a~0) main_~x~0)))) main_~b~0) (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (+ main_~q~0 (* (- 1) (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0))) main_~x~0)) (+ (* (- 1) (* (div (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) main_~x~0)) main_~b~0 (* (- 1) (* main_~y~0 main_~r~0))))) (or (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (forall ((main_~p~0 Int)) (or (<= (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0))) main_~b~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ main_~b~0 (* (- 1) (* main_~p~0 main_~x~0)) (* (- 1) (* main_~y~0 main_~r~0)))))) (not (= main_~x~0 0)))) (<= main_~b~0 main_~a~0))} is VALID [2022-04-27 13:12:33,015 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15367#true} {15367#true} #100#return; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 25: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 24: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 23: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L272 TraceCheckUtils]: 22: Hoare triple {15367#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15367#true} {15367#true} #98#return; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 20: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 19: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L272 TraceCheckUtils]: 17: Hoare triple {15367#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15367#true} {15367#true} #96#return; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 15: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 14: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 13: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L272 TraceCheckUtils]: 12: Hoare triple {15367#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 11: Hoare triple {15367#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15367#true} {15367#true} #94#return; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 9: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 8: Hoare triple {15367#true} assume !(0 == ~cond); {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L290 TraceCheckUtils]: 7: Hoare triple {15367#true} ~cond := #in~cond; {15367#true} is VALID [2022-04-27 13:12:33,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {15367#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L290 TraceCheckUtils]: 5: Hoare triple {15367#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {15367#true} call #t~ret6 := main(); {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15367#true} {15367#true} #112#return; {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {15367#true} assume true; {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {15367#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L272 TraceCheckUtils]: 0: Hoare triple {15367#true} call ULTIMATE.init(); {15367#true} is VALID [2022-04-27 13:12:33,017 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 21 proven. 23 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 13:12:33,017 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:12:33,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [899247628] [2022-04-27 13:12:33,017 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:12:33,017 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1387662943] [2022-04-27 13:12:33,017 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1387662943] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:12:33,018 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:12:33,018 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 16] total 30 [2022-04-27 13:12:33,018 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [99976266] [2022-04-27 13:12:33,018 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:12:33,018 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 77 [2022-04-27 13:12:33,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:12:33,019 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:12:35,486 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 103 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:12:35,486 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-27 13:12:35,486 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:12:35,487 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-27 13:12:35,487 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=121, Invalid=749, Unknown=0, NotChecked=0, Total=870 [2022-04-27 13:12:35,487 INFO L87 Difference]: Start difference. First operand 255 states and 339 transitions. Second operand has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:13:06,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:06,748 INFO L93 Difference]: Finished difference Result 379 states and 508 transitions. [2022-04-27 13:13:06,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 38 states. [2022-04-27 13:13:06,749 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) Word has length 77 [2022-04-27 13:13:06,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:13:06,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:13:06,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 235 transitions. [2022-04-27 13:13:06,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:13:06,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 235 transitions. [2022-04-27 13:13:06,762 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 38 states and 235 transitions. [2022-04-27 13:13:09,270 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 235 edges. 234 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:13:09,278 INFO L225 Difference]: With dead ends: 379 [2022-04-27 13:13:09,278 INFO L226 Difference]: Without dead ends: 377 [2022-04-27 13:13:09,279 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 134 SyntacticMatches, 2 SemanticMatches, 60 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 918 ImplicationChecksByTransitivity, 13.1s TimeCoverageRelationStatistics Valid=706, Invalid=3076, Unknown=0, NotChecked=0, Total=3782 [2022-04-27 13:13:09,282 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 249 mSDsluCounter, 337 mSDsCounter, 0 mSdLazyCounter, 1510 mSolverCounterSat, 475 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 8.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 249 SdHoareTripleChecker+Valid, 379 SdHoareTripleChecker+Invalid, 2122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 475 IncrementalHoareTripleChecker+Valid, 1510 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 137 IncrementalHoareTripleChecker+Unchecked, 8.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:13:09,283 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [249 Valid, 379 Invalid, 2122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [475 Valid, 1510 Invalid, 0 Unknown, 137 Unchecked, 8.3s Time] [2022-04-27 13:13:09,284 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2022-04-27 13:13:10,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 359. [2022-04-27 13:13:10,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:13:10,307 INFO L82 GeneralOperation]: Start isEquivalent. First operand 377 states. Second operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 13:13:10,308 INFO L74 IsIncluded]: Start isIncluded. First operand 377 states. Second operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 13:13:10,308 INFO L87 Difference]: Start difference. First operand 377 states. Second operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 13:13:10,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:10,315 INFO L93 Difference]: Finished difference Result 377 states and 506 transitions. [2022-04-27 13:13:10,315 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 506 transitions. [2022-04-27 13:13:10,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:10,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:10,316 INFO L74 IsIncluded]: Start isIncluded. First operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) Second operand 377 states. [2022-04-27 13:13:10,317 INFO L87 Difference]: Start difference. First operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) Second operand 377 states. [2022-04-27 13:13:10,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:13:10,324 INFO L93 Difference]: Finished difference Result 377 states and 506 transitions. [2022-04-27 13:13:10,324 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 506 transitions. [2022-04-27 13:13:10,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:13:10,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:13:10,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:13:10,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:13:10,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 359 states, 222 states have (on average 1.1711711711711712) internal successors, (260), 226 states have internal predecessors, (260), 113 states have call successors, (113), 24 states have call predecessors, (113), 23 states have return successors, (111), 108 states have call predecessors, (111), 111 states have call successors, (111) [2022-04-27 13:13:10,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 359 states to 359 states and 484 transitions. [2022-04-27 13:13:10,333 INFO L78 Accepts]: Start accepts. Automaton has 359 states and 484 transitions. Word has length 77 [2022-04-27 13:13:10,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:13:10,333 INFO L495 AbstractCegarLoop]: Abstraction has 359 states and 484 transitions. [2022-04-27 13:13:10,333 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 28 states have (on average 2.2857142857142856) internal successors, (64), 27 states have internal predecessors, (64), 8 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 6 states have call successors, (19) [2022-04-27 13:13:10,333 INFO L276 IsEmpty]: Start isEmpty. Operand 359 states and 484 transitions. [2022-04-27 13:13:10,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:13:10,334 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:13:10,334 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:13:10,353 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:13:10,551 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:13:10,551 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:13:10,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:13:10,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 1 times [2022-04-27 13:13:10,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:13:10,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1761558542] [2022-04-27 13:13:10,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:10,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:13:10,569 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:13:10,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286187887] [2022-04-27 13:13:10,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:13:10,569 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:13:10,569 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:13:10,572 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:13:10,573 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:13:10,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:10,627 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 89 conjunts are in the unsatisfiable core [2022-04-27 13:13:10,638 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:13:10,639 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:13:11,411 INFO L272 TraceCheckUtils]: 0: Hoare triple {17835#true} call ULTIMATE.init(); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {17835#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); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17835#true} {17835#true} #112#return; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L272 TraceCheckUtils]: 4: Hoare triple {17835#true} call #t~ret6 := main(); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 5: Hoare triple {17835#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L272 TraceCheckUtils]: 6: Hoare triple {17835#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 7: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 8: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 9: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17835#true} {17835#true} #94#return; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 11: Hoare triple {17835#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L272 TraceCheckUtils]: 12: Hoare triple {17835#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 13: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 14: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 15: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17835#true} {17835#true} #96#return; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L272 TraceCheckUtils]: 17: Hoare triple {17835#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 18: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,412 INFO L290 TraceCheckUtils]: 19: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L290 TraceCheckUtils]: 20: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17835#true} {17835#true} #98#return; {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L272 TraceCheckUtils]: 22: Hoare triple {17835#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L290 TraceCheckUtils]: 24: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17835#true} {17835#true} #100#return; {17835#true} is VALID [2022-04-27 13:13:11,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {17835#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17921#(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:13:11,413 INFO L290 TraceCheckUtils]: 28: Hoare triple {17921#(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; {17921#(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:13:11,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {17921#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17928#(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:13:11,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {17928#(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; {17928#(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:13:11,414 INFO L290 TraceCheckUtils]: 31: Hoare triple {17928#(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); {17928#(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:13:11,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {17928#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17938#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {17938#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {17938#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,415 INFO L290 TraceCheckUtils]: 34: Hoare triple {17938#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17945#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,416 INFO L290 TraceCheckUtils]: 35: Hoare triple {17945#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {17945#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,416 INFO L290 TraceCheckUtils]: 36: Hoare triple {17945#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,416 INFO L290 TraceCheckUtils]: 37: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,416 INFO L272 TraceCheckUtils]: 38: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,416 INFO L290 TraceCheckUtils]: 40: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,417 INFO L290 TraceCheckUtils]: 41: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,417 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17835#true} {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,417 INFO L272 TraceCheckUtils]: 43: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,417 INFO L290 TraceCheckUtils]: 44: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,417 INFO L290 TraceCheckUtils]: 45: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,417 INFO L290 TraceCheckUtils]: 46: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,418 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17835#true} {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,418 INFO L272 TraceCheckUtils]: 48: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,418 INFO L290 TraceCheckUtils]: 49: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,418 INFO L290 TraceCheckUtils]: 50: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,418 INFO L290 TraceCheckUtils]: 51: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,418 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17835#true} {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,418 INFO L272 TraceCheckUtils]: 53: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,419 INFO L290 TraceCheckUtils]: 54: Hoare triple {17835#true} ~cond := #in~cond; {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:11,419 INFO L290 TraceCheckUtils]: 55: Hoare triple {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,419 INFO L290 TraceCheckUtils]: 56: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,419 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,420 INFO L290 TraceCheckUtils]: 58: Hoare triple {17952#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18021#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,420 INFO L290 TraceCheckUtils]: 59: Hoare triple {18021#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} assume !false; {18021#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,420 INFO L272 TraceCheckUtils]: 60: Hoare triple {18021#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,420 INFO L290 TraceCheckUtils]: 61: Hoare triple {17835#true} ~cond := #in~cond; {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:11,421 INFO L290 TraceCheckUtils]: 62: Hoare triple {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,421 INFO L290 TraceCheckUtils]: 63: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,422 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18021#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1))} #102#return; {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:11,422 INFO L272 TraceCheckUtils]: 65: Hoare triple {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,422 INFO L290 TraceCheckUtils]: 66: Hoare triple {17835#true} ~cond := #in~cond; {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:11,422 INFO L290 TraceCheckUtils]: 67: Hoare triple {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,422 INFO L290 TraceCheckUtils]: 68: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,423 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:11,423 INFO L272 TraceCheckUtils]: 70: Hoare triple {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,423 INFO L290 TraceCheckUtils]: 71: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:11,423 INFO L290 TraceCheckUtils]: 72: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:11,423 INFO L290 TraceCheckUtils]: 73: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:11,423 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17835#true} {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:11,423 INFO L272 TraceCheckUtils]: 75: Hoare triple {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:11,424 INFO L290 TraceCheckUtils]: 76: Hoare triple {17835#true} ~cond := #in~cond; {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:11,424 INFO L290 TraceCheckUtils]: 77: Hoare triple {18007#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,424 INFO L290 TraceCheckUtils]: 78: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:11,425 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:11,425 INFO L290 TraceCheckUtils]: 80: Hoare triple {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:13:11,426 INFO L290 TraceCheckUtils]: 81: Hoare triple {18040#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~q~0 1) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,426 INFO L290 TraceCheckUtils]: 82: Hoare triple {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,426 INFO L290 TraceCheckUtils]: 83: Hoare triple {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:13:11,427 INFO L290 TraceCheckUtils]: 84: Hoare triple {18092#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2) (= main_~q~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18102#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:13:11,427 INFO L290 TraceCheckUtils]: 85: Hoare triple {18102#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18102#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:13:11,428 INFO L290 TraceCheckUtils]: 86: Hoare triple {18102#(and (= main_~r~0 0) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {18109#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:13:11,428 INFO L272 TraceCheckUtils]: 87: Hoare triple {18109#(and (= main_~r~0 0) (= (+ main_~y~0 (* (- 2) main_~a~0)) 0) (= 2 (* (- 1) main_~q~0)) (= (+ (* (- 1) (* main_~r~0 (* (- 1) main_~q~0))) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {18113#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:13:11,428 INFO L290 TraceCheckUtils]: 88: Hoare triple {18113#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18117#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:11,429 INFO L290 TraceCheckUtils]: 89: Hoare triple {18117#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17836#false} is VALID [2022-04-27 13:13:11,429 INFO L290 TraceCheckUtils]: 90: Hoare triple {17836#false} assume !false; {17836#false} is VALID [2022-04-27 13:13:11,429 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 51 proven. 32 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-27 13:13:11,429 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:13:59,014 INFO L290 TraceCheckUtils]: 90: Hoare triple {17836#false} assume !false; {17836#false} is VALID [2022-04-27 13:13:59,014 INFO L290 TraceCheckUtils]: 89: Hoare triple {18117#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17836#false} is VALID [2022-04-27 13:13:59,015 INFO L290 TraceCheckUtils]: 88: Hoare triple {18113#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18117#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:13:59,015 INFO L272 TraceCheckUtils]: 87: Hoare triple {18133#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {18113#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:13:59,016 INFO L290 TraceCheckUtils]: 86: Hoare triple {18137#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {18133#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:13:59,016 INFO L290 TraceCheckUtils]: 85: Hoare triple {18137#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {18137#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:13:59,099 INFO L290 TraceCheckUtils]: 84: Hoare triple {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {18137#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:13:59,099 INFO L290 TraceCheckUtils]: 83: Hoare triple {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,100 INFO L290 TraceCheckUtils]: 82: Hoare triple {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,235 INFO L290 TraceCheckUtils]: 81: Hoare triple {18154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {18144#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,235 INFO L290 TraceCheckUtils]: 80: Hoare triple {18154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {18154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,236 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {18154#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,237 INFO L290 TraceCheckUtils]: 78: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,237 INFO L290 TraceCheckUtils]: 77: Hoare triple {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,237 INFO L290 TraceCheckUtils]: 76: Hoare triple {17835#true} ~cond := #in~cond; {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:13:59,237 INFO L272 TraceCheckUtils]: 75: Hoare triple {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,238 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17835#true} {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,238 INFO L290 TraceCheckUtils]: 73: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,238 INFO L290 TraceCheckUtils]: 72: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,238 INFO L290 TraceCheckUtils]: 71: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,238 INFO L272 TraceCheckUtils]: 70: Hoare triple {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,239 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18193#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {18161#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,240 INFO L290 TraceCheckUtils]: 68: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,240 INFO L290 TraceCheckUtils]: 67: Hoare triple {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,240 INFO L290 TraceCheckUtils]: 66: Hoare triple {17835#true} ~cond := #in~cond; {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:13:59,240 INFO L272 TraceCheckUtils]: 65: Hoare triple {18193#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,241 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} {18209#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18193#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,242 INFO L290 TraceCheckUtils]: 63: Hoare triple {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,242 INFO L290 TraceCheckUtils]: 62: Hoare triple {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {18011#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:13:59,242 INFO L290 TraceCheckUtils]: 61: Hoare triple {17835#true} ~cond := #in~cond; {18171#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:13:59,242 INFO L272 TraceCheckUtils]: 60: Hoare triple {18209#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,243 INFO L290 TraceCheckUtils]: 59: Hoare triple {18209#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18209#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,360 INFO L290 TraceCheckUtils]: 58: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18209#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:13:59,361 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {17835#true} {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #108#return; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,361 INFO L290 TraceCheckUtils]: 56: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,361 INFO L290 TraceCheckUtils]: 55: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,361 INFO L290 TraceCheckUtils]: 54: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,361 INFO L272 TraceCheckUtils]: 53: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,362 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17835#true} {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #106#return; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,362 INFO L290 TraceCheckUtils]: 51: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,362 INFO L290 TraceCheckUtils]: 50: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,362 INFO L290 TraceCheckUtils]: 49: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,362 INFO L272 TraceCheckUtils]: 48: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,363 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17835#true} {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #104#return; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,363 INFO L290 TraceCheckUtils]: 46: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,363 INFO L290 TraceCheckUtils]: 45: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,363 INFO L290 TraceCheckUtils]: 44: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,363 INFO L272 TraceCheckUtils]: 43: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,364 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17835#true} {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} #102#return; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,364 INFO L290 TraceCheckUtils]: 40: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,364 INFO L290 TraceCheckUtils]: 39: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,364 INFO L272 TraceCheckUtils]: 38: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,365 INFO L290 TraceCheckUtils]: 37: Hoare triple {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !false; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,365 INFO L290 TraceCheckUtils]: 36: Hoare triple {18295#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18228#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-27 13:13:59,366 INFO L290 TraceCheckUtils]: 35: Hoare triple {18295#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18295#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 13:13:59,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {17835#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18295#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-27 13:13:59,367 INFO L290 TraceCheckUtils]: 33: Hoare triple {17835#true} assume !false; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 32: Hoare triple {17835#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; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 31: Hoare triple {17835#true} assume !(~c~0 >= ~b~0); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 30: Hoare triple {17835#true} assume !false; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 29: Hoare triple {17835#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 28: Hoare triple {17835#true} assume !false; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 27: Hoare triple {17835#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17835#true} {17835#true} #100#return; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 25: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 24: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 23: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L272 TraceCheckUtils]: 22: Hoare triple {17835#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17835#true} {17835#true} #98#return; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 18: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L272 TraceCheckUtils]: 17: Hoare triple {17835#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17835#true} {17835#true} #96#return; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 15: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L272 TraceCheckUtils]: 12: Hoare triple {17835#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L290 TraceCheckUtils]: 11: Hoare triple {17835#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17835#true} is VALID [2022-04-27 13:13:59,368 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17835#true} {17835#true} #94#return; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 9: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 8: Hoare triple {17835#true} assume !(0 == ~cond); {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 7: Hoare triple {17835#true} ~cond := #in~cond; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L272 TraceCheckUtils]: 6: Hoare triple {17835#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 5: Hoare triple {17835#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L272 TraceCheckUtils]: 4: Hoare triple {17835#true} call #t~ret6 := main(); {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17835#true} {17835#true} #112#return; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 2: Hoare triple {17835#true} assume true; {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L290 TraceCheckUtils]: 1: Hoare triple {17835#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); {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L272 TraceCheckUtils]: 0: Hoare triple {17835#true} call ULTIMATE.init(); {17835#true} is VALID [2022-04-27 13:13:59,369 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 61 proven. 17 refuted. 0 times theorem prover too weak. 93 trivial. 0 not checked. [2022-04-27 13:13:59,370 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:13:59,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1761558542] [2022-04-27 13:13:59,370 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:13:59,370 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286187887] [2022-04-27 13:13:59,370 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286187887] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:13:59,370 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:13:59,370 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15] total 26 [2022-04-27 13:13:59,370 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [482920192] [2022-04-27 13:13:59,370 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:13:59,370 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) Word has length 91 [2022-04-27 13:13:59,371 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:13:59,371 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:14:01,646 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 101 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:14:01,646 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-04-27 13:14:01,646 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:14:01,646 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-04-27 13:14:01,647 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=113, Invalid=537, Unknown=0, NotChecked=0, Total=650 [2022-04-27 13:14:01,647 INFO L87 Difference]: Start difference. First operand 359 states and 484 transitions. Second operand has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:14:12,982 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:16,276 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:22,432 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:35,055 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:39,213 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.83s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:42,166 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.46s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:47,898 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:50,090 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.10s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:52,093 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:55,102 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:14:57,151 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:15:00,630 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:15:09,202 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:15:11,212 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:15:15,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:15,530 INFO L93 Difference]: Finished difference Result 565 states and 794 transitions. [2022-04-27 13:15:15,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 49 states. [2022-04-27 13:15:15,530 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) Word has length 91 [2022-04-27 13:15:15,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:15,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:15:15,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 295 transitions. [2022-04-27 13:15:15,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:15:15,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 295 transitions. [2022-04-27 13:15:15,544 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 295 transitions. [2022-04-27 13:15:34,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:34,523 INFO L225 Difference]: With dead ends: 565 [2022-04-27 13:15:34,523 INFO L226 Difference]: Without dead ends: 561 [2022-04-27 13:15:34,524 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 228 GetRequests, 164 SyntacticMatches, 3 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 939 ImplicationChecksByTransitivity, 5.8s TimeCoverageRelationStatistics Valid=701, Invalid=3205, Unknown=0, NotChecked=0, Total=3906 [2022-04-27 13:15:34,525 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 171 mSDsluCounter, 443 mSDsCounter, 0 mSdLazyCounter, 1994 mSolverCounterSat, 437 mSolverCounterUnsat, 10 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 42.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 182 SdHoareTripleChecker+Valid, 504 SdHoareTripleChecker+Invalid, 2441 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 437 IncrementalHoareTripleChecker+Valid, 1994 IncrementalHoareTripleChecker+Invalid, 10 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 42.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:34,525 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [182 Valid, 504 Invalid, 2441 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [437 Valid, 1994 Invalid, 10 Unknown, 0 Unchecked, 42.4s Time] [2022-04-27 13:15:34,525 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 561 states. [2022-04-27 13:15:36,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 561 to 481. [2022-04-27 13:15:36,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:15:36,182 INFO L82 GeneralOperation]: Start isEquivalent. First operand 561 states. Second operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-27 13:15:36,182 INFO L74 IsIncluded]: Start isIncluded. First operand 561 states. Second operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-27 13:15:36,183 INFO L87 Difference]: Start difference. First operand 561 states. Second operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-27 13:15:36,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:36,197 INFO L93 Difference]: Finished difference Result 561 states and 785 transitions. [2022-04-27 13:15:36,197 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 785 transitions. [2022-04-27 13:15:36,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:36,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:36,199 INFO L74 IsIncluded]: Start isIncluded. First operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) Second operand 561 states. [2022-04-27 13:15:36,199 INFO L87 Difference]: Start difference. First operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) Second operand 561 states. [2022-04-27 13:15:36,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:36,213 INFO L93 Difference]: Finished difference Result 561 states and 785 transitions. [2022-04-27 13:15:36,213 INFO L276 IsEmpty]: Start isEmpty. Operand 561 states and 785 transitions. [2022-04-27 13:15:36,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:36,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:36,215 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:15:36,215 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:15:36,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 481 states, 294 states have (on average 1.183673469387755) internal successors, (348), 298 states have internal predecessors, (348), 157 states have call successors, (157), 30 states have call predecessors, (157), 29 states have return successors, (155), 152 states have call predecessors, (155), 155 states have call successors, (155) [2022-04-27 13:15:36,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 481 states to 481 states and 660 transitions. [2022-04-27 13:15:36,228 INFO L78 Accepts]: Start accepts. Automaton has 481 states and 660 transitions. Word has length 91 [2022-04-27 13:15:36,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:15:36,228 INFO L495 AbstractCegarLoop]: Abstraction has 481 states and 660 transitions. [2022-04-27 13:15:36,229 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 22 states have (on average 2.590909090909091) internal successors, (57), 23 states have internal predecessors, (57), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (21), 7 states have call predecessors, (21), 8 states have call successors, (21) [2022-04-27 13:15:36,229 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 660 transitions. [2022-04-27 13:15:36,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:15:36,230 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:15:36,230 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 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, 1] [2022-04-27 13:15:36,248 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-27 13:15:36,448 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:15:36,448 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:15:36,449 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:15:36,449 INFO L85 PathProgramCache]: Analyzing trace with hash -801999833, now seen corresponding path program 1 times [2022-04-27 13:15:36,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:15:36,449 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1980768192] [2022-04-27 13:15:36,449 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:15:36,449 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:15:36,467 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:15:36,467 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [552869856] [2022-04-27 13:15:36,467 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:15:36,468 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:36,468 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:15:36,468 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:15:36,511 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:15:36,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:15:36,529 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:15:36,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:15:36,543 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:15:37,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {21256#true} call ULTIMATE.init(); {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {21256#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); {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21256#true} {21256#true} #112#return; {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L272 TraceCheckUtils]: 4: Hoare triple {21256#true} call #t~ret6 := main(); {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L290 TraceCheckUtils]: 5: Hoare triple {21256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {21256#true} is VALID [2022-04-27 13:15:37,040 INFO L272 TraceCheckUtils]: 6: Hoare triple {21256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21256#true} {21256#true} #94#return; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {21256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L272 TraceCheckUtils]: 12: Hoare triple {21256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 13: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 14: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 15: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21256#true} {21256#true} #96#return; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L272 TraceCheckUtils]: 17: Hoare triple {21256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 18: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 19: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 20: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21256#true} {21256#true} #98#return; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L272 TraceCheckUtils]: 22: Hoare triple {21256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 24: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 25: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21256#true} {21256#true} #100#return; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {21256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21256#true} is VALID [2022-04-27 13:15:37,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {21256#true} assume !false; {21256#true} is VALID [2022-04-27 13:15:37,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {21256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {21348#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:15:37,052 INFO L290 TraceCheckUtils]: 30: Hoare triple {21348#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {21348#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-27 13:15:37,053 INFO L290 TraceCheckUtils]: 31: Hoare triple {21348#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} assume !false; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,055 INFO L272 TraceCheckUtils]: 33: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,055 INFO L290 TraceCheckUtils]: 35: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,055 INFO L290 TraceCheckUtils]: 36: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,056 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21256#true} {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} #102#return; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,056 INFO L272 TraceCheckUtils]: 38: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,056 INFO L290 TraceCheckUtils]: 39: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,056 INFO L290 TraceCheckUtils]: 40: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,056 INFO L290 TraceCheckUtils]: 41: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,057 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {21256#true} {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} #104#return; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,057 INFO L272 TraceCheckUtils]: 43: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,057 INFO L290 TraceCheckUtils]: 45: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,057 INFO L290 TraceCheckUtils]: 46: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,058 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {21256#true} {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} #106#return; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,058 INFO L272 TraceCheckUtils]: 48: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,058 INFO L290 TraceCheckUtils]: 49: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,058 INFO L290 TraceCheckUtils]: 50: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,058 INFO L290 TraceCheckUtils]: 51: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,058 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {21256#true} {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} #108#return; {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} is VALID [2022-04-27 13:15:37,059 INFO L290 TraceCheckUtils]: 53: Hoare triple {21355#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,059 INFO L290 TraceCheckUtils]: 54: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} assume !false; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,059 INFO L272 TraceCheckUtils]: 55: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,059 INFO L290 TraceCheckUtils]: 56: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,059 INFO L290 TraceCheckUtils]: 57: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,059 INFO L290 TraceCheckUtils]: 58: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21256#true} {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} #102#return; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,060 INFO L272 TraceCheckUtils]: 60: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L290 TraceCheckUtils]: 61: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L290 TraceCheckUtils]: 62: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L290 TraceCheckUtils]: 63: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21256#true} {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} #104#return; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,060 INFO L272 TraceCheckUtils]: 65: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,060 INFO L290 TraceCheckUtils]: 66: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L290 TraceCheckUtils]: 67: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L290 TraceCheckUtils]: 68: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {21256#true} {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} #106#return; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,061 INFO L272 TraceCheckUtils]: 70: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L290 TraceCheckUtils]: 71: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L290 TraceCheckUtils]: 72: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,061 INFO L290 TraceCheckUtils]: 73: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,062 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {21256#true} {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} #108#return; {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} is VALID [2022-04-27 13:15:37,062 INFO L290 TraceCheckUtils]: 75: Hoare triple {21422#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2))} assume !(~c~0 >= 2 * ~v~0); {21489#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:37,063 INFO L290 TraceCheckUtils]: 76: Hoare triple {21489#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~d~0 2) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {21493#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,063 INFO L290 TraceCheckUtils]: 77: Hoare triple {21493#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} assume !false; {21493#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,063 INFO L290 TraceCheckUtils]: 78: Hoare triple {21493#(and (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 79: Hoare triple {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} assume !false; {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,064 INFO L272 TraceCheckUtils]: 80: Hoare triple {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 81: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 82: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 83: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {21256#true} {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} #102#return; {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,064 INFO L272 TraceCheckUtils]: 85: Hoare triple {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 86: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 87: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,064 INFO L290 TraceCheckUtils]: 88: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,065 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {21256#true} {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} #104#return; {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} is VALID [2022-04-27 13:15:37,065 INFO L272 TraceCheckUtils]: 90: Hoare triple {21500#(and (<= main_~b~0 main_~c~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (not (<= (* main_~b~0 2) main_~c~0)) (= main_~k~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21537#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:15:37,066 INFO L290 TraceCheckUtils]: 91: Hoare triple {21537#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21541#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:15:37,066 INFO L290 TraceCheckUtils]: 92: Hoare triple {21541#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21257#false} is VALID [2022-04-27 13:15:37,066 INFO L290 TraceCheckUtils]: 93: Hoare triple {21257#false} assume !false; {21257#false} is VALID [2022-04-27 13:15:37,066 INFO L134 CoverageAnalysis]: Checked inductivity of 240 backedges. 20 proven. 16 refuted. 0 times theorem prover too weak. 204 trivial. 0 not checked. [2022-04-27 13:15:37,066 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:15:37,886 INFO L290 TraceCheckUtils]: 93: Hoare triple {21257#false} assume !false; {21257#false} is VALID [2022-04-27 13:15:37,887 INFO L290 TraceCheckUtils]: 92: Hoare triple {21541#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21257#false} is VALID [2022-04-27 13:15:37,887 INFO L290 TraceCheckUtils]: 91: Hoare triple {21537#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21541#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:15:37,887 INFO L272 TraceCheckUtils]: 90: Hoare triple {21557#(= 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)); {21537#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:15:37,888 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {21256#true} {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:15:37,888 INFO L290 TraceCheckUtils]: 88: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,888 INFO L290 TraceCheckUtils]: 87: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,888 INFO L290 TraceCheckUtils]: 86: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,888 INFO L272 TraceCheckUtils]: 85: Hoare triple {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,888 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {21256#true} {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:15:37,888 INFO L290 TraceCheckUtils]: 83: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,889 INFO L290 TraceCheckUtils]: 82: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,889 INFO L290 TraceCheckUtils]: 81: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,889 INFO L272 TraceCheckUtils]: 80: Hoare triple {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,889 INFO L290 TraceCheckUtils]: 79: Hoare triple {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:15:37,889 INFO L290 TraceCheckUtils]: 78: Hoare triple {21594#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21557#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-27 13:15:37,889 INFO L290 TraceCheckUtils]: 77: Hoare triple {21594#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {21594#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:15:37,893 INFO L290 TraceCheckUtils]: 76: Hoare triple {21601#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {21594#(or (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 75: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} assume !(~c~0 >= 2 * ~v~0); {21601#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))))} is VALID [2022-04-27 13:15:37,894 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {21256#true} {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} #108#return; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 73: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 72: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 71: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,894 INFO L272 TraceCheckUtils]: 70: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,894 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {21256#true} {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} #106#return; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 68: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,894 INFO L290 TraceCheckUtils]: 67: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L290 TraceCheckUtils]: 66: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L272 TraceCheckUtils]: 65: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {21256#true} {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} #104#return; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,895 INFO L290 TraceCheckUtils]: 63: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L290 TraceCheckUtils]: 62: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L290 TraceCheckUtils]: 61: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,895 INFO L272 TraceCheckUtils]: 60: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,896 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {21256#true} {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} #102#return; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,896 INFO L290 TraceCheckUtils]: 58: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,896 INFO L290 TraceCheckUtils]: 56: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,896 INFO L272 TraceCheckUtils]: 55: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,896 INFO L290 TraceCheckUtils]: 54: Hoare triple {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} assume !false; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,898 INFO L290 TraceCheckUtils]: 53: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {21605#(or (not (<= (+ main_~b~0 main_~v~0) main_~c~0)) (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0))) (<= (* main_~v~0 2) main_~c~0))} is VALID [2022-04-27 13:15:37,899 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {21256#true} {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #108#return; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,899 INFO L290 TraceCheckUtils]: 51: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,899 INFO L272 TraceCheckUtils]: 48: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {21256#true} {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #106#return; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 46: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 45: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L272 TraceCheckUtils]: 43: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {21256#true} {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #104#return; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 41: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 40: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L290 TraceCheckUtils]: 39: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,901 INFO L272 TraceCheckUtils]: 38: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,902 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21256#true} {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} #102#return; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,902 INFO L290 TraceCheckUtils]: 36: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,902 INFO L290 TraceCheckUtils]: 35: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,902 INFO L290 TraceCheckUtils]: 34: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,902 INFO L272 TraceCheckUtils]: 33: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,902 INFO L290 TraceCheckUtils]: 32: Hoare triple {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} assume !false; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 31: Hoare triple {21739#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (<= (* main_~b~0 4) main_~c~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {21672#(or (<= (* main_~v~0 4) main_~c~0) (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0))) (not (<= (+ (* main_~v~0 2) main_~b~0) main_~c~0)))} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 30: Hoare triple {21739#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (<= (* main_~b~0 4) main_~c~0))} assume !false; {21739#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (<= (* main_~b~0 4) main_~c~0))} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 29: Hoare triple {21256#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {21739#(or (not (<= (* main_~b~0 3) main_~c~0)) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0))) (<= (* main_~b~0 4) main_~c~0))} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 28: Hoare triple {21256#true} assume !false; {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {21256#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21256#true} {21256#true} #100#return; {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L290 TraceCheckUtils]: 23: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L272 TraceCheckUtils]: 22: Hoare triple {21256#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,903 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21256#true} {21256#true} #98#return; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 20: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 19: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 18: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L272 TraceCheckUtils]: 17: Hoare triple {21256#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21256#true} {21256#true} #96#return; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 15: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L272 TraceCheckUtils]: 12: Hoare triple {21256#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 11: Hoare triple {21256#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21256#true} {21256#true} #94#return; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {21256#true} assume !(0 == ~cond); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {21256#true} ~cond := #in~cond; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {21256#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {21256#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {21256#true} call #t~ret6 := main(); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21256#true} {21256#true} #112#return; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 2: Hoare triple {21256#true} assume true; {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L290 TraceCheckUtils]: 1: Hoare triple {21256#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); {21256#true} is VALID [2022-04-27 13:15:37,904 INFO L272 TraceCheckUtils]: 0: Hoare triple {21256#true} call ULTIMATE.init(); {21256#true} is VALID [2022-04-27 13:15:37,905 INFO L134 CoverageAnalysis]: Checked inductivity of 240 backedges. 22 proven. 14 refuted. 0 times theorem prover too weak. 204 trivial. 0 not checked. [2022-04-27 13:15:37,905 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:15:37,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1980768192] [2022-04-27 13:15:37,905 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:15:37,905 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [552869856] [2022-04-27 13:15:37,905 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [552869856] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:15:37,905 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:15:37,905 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-27 13:15:37,905 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [138075853] [2022-04-27 13:15:37,905 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:15:37,906 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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 94 [2022-04-27 13:15:37,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:15:37,906 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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:15:37,991 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:15:37,991 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 13:15:37,991 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:15:37,991 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 13:15:37,991 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=171, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:15:37,992 INFO L87 Difference]: Start difference. First operand 481 states and 660 transitions. Second operand has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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:15:46,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:46,045 INFO L93 Difference]: Finished difference Result 1010 states and 1515 transitions. [2022-04-27 13:15:46,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 13:15:46,045 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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 94 [2022-04-27 13:15:46,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:46,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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:15:46,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 211 transitions. [2022-04-27 13:15:46,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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:15:46,051 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 211 transitions. [2022-04-27 13:15:46,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 211 transitions. [2022-04-27 13:15:46,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:46,415 INFO L225 Difference]: With dead ends: 1010 [2022-04-27 13:15:46,415 INFO L226 Difference]: Without dead ends: 1008 [2022-04-27 13:15:46,416 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 172 SyntacticMatches, 1 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 189 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=222, Invalid=534, Unknown=0, NotChecked=0, Total=756 [2022-04-27 13:15:46,416 INFO L413 NwaCegarLoop]: 86 mSDtfsCounter, 75 mSDsluCounter, 370 mSDsCounter, 0 mSdLazyCounter, 528 mSolverCounterSat, 125 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 456 SdHoareTripleChecker+Invalid, 653 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 125 IncrementalHoareTripleChecker+Valid, 528 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:46,416 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 456 Invalid, 653 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [125 Valid, 528 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-27 13:15:46,417 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1008 states. [2022-04-27 13:15:51,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1008 to 913. [2022-04-27 13:15:51,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:15:51,094 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1008 states. Second operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) [2022-04-27 13:15:51,095 INFO L74 IsIncluded]: Start isIncluded. First operand 1008 states. Second operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) [2022-04-27 13:15:51,096 INFO L87 Difference]: Start difference. First operand 1008 states. Second operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) [2022-04-27 13:15:51,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:51,137 INFO L93 Difference]: Finished difference Result 1008 states and 1513 transitions. [2022-04-27 13:15:51,137 INFO L276 IsEmpty]: Start isEmpty. Operand 1008 states and 1513 transitions. [2022-04-27 13:15:51,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:51,141 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:51,142 INFO L74 IsIncluded]: Start isIncluded. First operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) Second operand 1008 states. [2022-04-27 13:15:51,143 INFO L87 Difference]: Start difference. First operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) Second operand 1008 states. [2022-04-27 13:15:51,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:51,184 INFO L93 Difference]: Finished difference Result 1008 states and 1513 transitions. [2022-04-27 13:15:51,184 INFO L276 IsEmpty]: Start isEmpty. Operand 1008 states and 1513 transitions. [2022-04-27 13:15:51,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:15:51,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:15:51,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:15:51,187 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:15:51,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 913 states, 468 states have (on average 1.2713675213675213) internal successors, (595), 472 states have internal predecessors, (595), 409 states have call successors, (409), 36 states have call predecessors, (409), 35 states have return successors, (407), 404 states have call predecessors, (407), 407 states have call successors, (407) [2022-04-27 13:15:51,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 913 states to 913 states and 1411 transitions. [2022-04-27 13:15:51,239 INFO L78 Accepts]: Start accepts. Automaton has 913 states and 1411 transitions. Word has length 94 [2022-04-27 13:15:51,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:15:51,239 INFO L495 AbstractCegarLoop]: Abstraction has 913 states and 1411 transitions. [2022-04-27 13:15:51,239 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.3125) internal successors, (37), 15 states have internal predecessors, (37), 7 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:15:51,240 INFO L276 IsEmpty]: Start isEmpty. Operand 913 states and 1411 transitions. [2022-04-27 13:15:51,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-27 13:15:51,240 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:15:51,241 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 5, 4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:15:51,259 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:15:51,459 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:15:51,460 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:15:51,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:15:51,460 INFO L85 PathProgramCache]: Analyzing trace with hash -568526404, now seen corresponding path program 2 times [2022-04-27 13:15:51,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:15:51,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1368705288] [2022-04-27 13:15:51,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:15:51,460 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:15:51,470 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:15:51,470 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1714050253] [2022-04-27 13:15:51,470 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:15:51,470 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:15:51,470 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:15:51,471 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:15:51,472 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:15:51,523 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:15:51,524 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:15:51,524 INFO L263 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 13:15:51,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:15:51,541 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:15:51,907 INFO L272 TraceCheckUtils]: 0: Hoare triple {27021#true} call ULTIMATE.init(); {27021#true} is VALID [2022-04-27 13:15:51,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {27021#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); {27021#true} is VALID [2022-04-27 13:15:51,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27021#true} {27021#true} #112#return; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L272 TraceCheckUtils]: 4: Hoare triple {27021#true} call #t~ret6 := main(); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {27021#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {27021#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 8: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27021#true} {27021#true} #94#return; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 11: Hoare triple {27021#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L272 TraceCheckUtils]: 12: Hoare triple {27021#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 13: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 14: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 15: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27021#true} {27021#true} #96#return; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L272 TraceCheckUtils]: 17: Hoare triple {27021#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 18: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27021#true} {27021#true} #98#return; {27021#true} is VALID [2022-04-27 13:15:51,908 INFO L272 TraceCheckUtils]: 22: Hoare triple {27021#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 24: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27021#true} {27021#true} #100#return; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {27021#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 28: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 29: Hoare triple {27021#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 30: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 31: Hoare triple {27021#true} assume !(~c~0 >= ~b~0); {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 32: Hoare triple {27021#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; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 33: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {27021#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:51,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {27021#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,910 INFO L290 TraceCheckUtils]: 37: Hoare triple {27134#(<= main_~v~0 main_~b~0)} assume !false; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,910 INFO L272 TraceCheckUtils]: 38: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,910 INFO L290 TraceCheckUtils]: 39: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,910 INFO L290 TraceCheckUtils]: 41: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,910 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #102#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,910 INFO L272 TraceCheckUtils]: 43: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 44: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 45: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 46: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #104#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,911 INFO L272 TraceCheckUtils]: 48: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 50: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,911 INFO L290 TraceCheckUtils]: 51: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,912 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #106#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,912 INFO L272 TraceCheckUtils]: 53: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,912 INFO L290 TraceCheckUtils]: 54: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,912 INFO L290 TraceCheckUtils]: 55: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,912 INFO L290 TraceCheckUtils]: 56: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,912 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #108#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:51,913 INFO L290 TraceCheckUtils]: 58: Hoare triple {27134#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {27201#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-27 13:15:51,913 INFO L290 TraceCheckUtils]: 59: Hoare triple {27201#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:51,914 INFO L290 TraceCheckUtils]: 60: Hoare triple {27205#(< main_~c~0 main_~b~0)} assume !false; {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:51,914 INFO L290 TraceCheckUtils]: 61: Hoare triple {27205#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:51,914 INFO L290 TraceCheckUtils]: 62: Hoare triple {27205#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27215#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:15:51,915 INFO L290 TraceCheckUtils]: 63: Hoare triple {27215#(< main_~b~0 main_~a~0)} assume !false; {27215#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:15:51,915 INFO L290 TraceCheckUtils]: 64: Hoare triple {27215#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27222#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:15:51,915 INFO L290 TraceCheckUtils]: 65: Hoare triple {27222#(< main_~b~0 main_~c~0)} assume !false; {27222#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:15:51,916 INFO L290 TraceCheckUtils]: 66: Hoare triple {27222#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,916 INFO L290 TraceCheckUtils]: 67: Hoare triple {27229#(< main_~v~0 main_~c~0)} assume !false; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,916 INFO L272 TraceCheckUtils]: 68: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,916 INFO L290 TraceCheckUtils]: 69: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,916 INFO L290 TraceCheckUtils]: 70: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,916 INFO L290 TraceCheckUtils]: 71: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #102#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,917 INFO L272 TraceCheckUtils]: 73: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L290 TraceCheckUtils]: 74: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L290 TraceCheckUtils]: 75: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L290 TraceCheckUtils]: 76: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #104#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,917 INFO L272 TraceCheckUtils]: 78: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L290 TraceCheckUtils]: 79: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,917 INFO L290 TraceCheckUtils]: 80: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,918 INFO L290 TraceCheckUtils]: 81: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,918 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #106#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,918 INFO L272 TraceCheckUtils]: 83: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:51,918 INFO L290 TraceCheckUtils]: 84: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:51,918 INFO L290 TraceCheckUtils]: 85: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:51,918 INFO L290 TraceCheckUtils]: 86: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:51,919 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #108#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,919 INFO L290 TraceCheckUtils]: 88: Hoare triple {27229#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:51,919 INFO L290 TraceCheckUtils]: 89: Hoare triple {27229#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:51,920 INFO L290 TraceCheckUtils]: 90: Hoare triple {27299#(< 0 main_~c~0)} assume !false; {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:51,920 INFO L290 TraceCheckUtils]: 91: Hoare triple {27299#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:51,920 INFO L290 TraceCheckUtils]: 92: Hoare triple {27299#(< 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; {27309#(< 0 main_~b~0)} is VALID [2022-04-27 13:15:51,921 INFO L290 TraceCheckUtils]: 93: Hoare triple {27309#(< 0 main_~b~0)} assume !false; {27309#(< 0 main_~b~0)} is VALID [2022-04-27 13:15:51,921 INFO L290 TraceCheckUtils]: 94: Hoare triple {27309#(< 0 main_~b~0)} assume !(0 != ~b~0); {27022#false} is VALID [2022-04-27 13:15:51,921 INFO L272 TraceCheckUtils]: 95: Hoare triple {27022#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {27022#false} is VALID [2022-04-27 13:15:51,921 INFO L290 TraceCheckUtils]: 96: Hoare triple {27022#false} ~cond := #in~cond; {27022#false} is VALID [2022-04-27 13:15:51,921 INFO L290 TraceCheckUtils]: 97: Hoare triple {27022#false} assume 0 == ~cond; {27022#false} is VALID [2022-04-27 13:15:51,921 INFO L290 TraceCheckUtils]: 98: Hoare triple {27022#false} assume !false; {27022#false} is VALID [2022-04-27 13:15:51,921 INFO L134 CoverageAnalysis]: Checked inductivity of 194 backedges. 38 proven. 16 refuted. 0 times theorem prover too weak. 140 trivial. 0 not checked. [2022-04-27 13:15:51,921 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:15:52,249 INFO L290 TraceCheckUtils]: 98: Hoare triple {27022#false} assume !false; {27022#false} is VALID [2022-04-27 13:15:52,249 INFO L290 TraceCheckUtils]: 97: Hoare triple {27022#false} assume 0 == ~cond; {27022#false} is VALID [2022-04-27 13:15:52,249 INFO L290 TraceCheckUtils]: 96: Hoare triple {27022#false} ~cond := #in~cond; {27022#false} is VALID [2022-04-27 13:15:52,249 INFO L272 TraceCheckUtils]: 95: Hoare triple {27022#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {27022#false} is VALID [2022-04-27 13:15:52,249 INFO L290 TraceCheckUtils]: 94: Hoare triple {27309#(< 0 main_~b~0)} assume !(0 != ~b~0); {27022#false} is VALID [2022-04-27 13:15:52,250 INFO L290 TraceCheckUtils]: 93: Hoare triple {27309#(< 0 main_~b~0)} assume !false; {27309#(< 0 main_~b~0)} is VALID [2022-04-27 13:15:52,250 INFO L290 TraceCheckUtils]: 92: Hoare triple {27299#(< 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; {27309#(< 0 main_~b~0)} is VALID [2022-04-27 13:15:52,250 INFO L290 TraceCheckUtils]: 91: Hoare triple {27299#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:52,251 INFO L290 TraceCheckUtils]: 90: Hoare triple {27299#(< 0 main_~c~0)} assume !false; {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:52,251 INFO L290 TraceCheckUtils]: 89: Hoare triple {27229#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27299#(< 0 main_~c~0)} is VALID [2022-04-27 13:15:52,252 INFO L290 TraceCheckUtils]: 88: Hoare triple {27229#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,252 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #108#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,252 INFO L290 TraceCheckUtils]: 86: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,252 INFO L290 TraceCheckUtils]: 85: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,252 INFO L290 TraceCheckUtils]: 84: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,252 INFO L272 TraceCheckUtils]: 83: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,253 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #106#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,253 INFO L290 TraceCheckUtils]: 81: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,253 INFO L290 TraceCheckUtils]: 80: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,253 INFO L290 TraceCheckUtils]: 79: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,253 INFO L272 TraceCheckUtils]: 78: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,254 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #104#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,254 INFO L290 TraceCheckUtils]: 76: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,254 INFO L290 TraceCheckUtils]: 75: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,254 INFO L290 TraceCheckUtils]: 74: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,254 INFO L272 TraceCheckUtils]: 73: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,254 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27021#true} {27229#(< main_~v~0 main_~c~0)} #102#return; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,254 INFO L290 TraceCheckUtils]: 71: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,255 INFO L290 TraceCheckUtils]: 70: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,255 INFO L290 TraceCheckUtils]: 69: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,255 INFO L272 TraceCheckUtils]: 68: Hoare triple {27229#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,255 INFO L290 TraceCheckUtils]: 67: Hoare triple {27229#(< main_~v~0 main_~c~0)} assume !false; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,255 INFO L290 TraceCheckUtils]: 66: Hoare triple {27222#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27229#(< main_~v~0 main_~c~0)} is VALID [2022-04-27 13:15:52,255 INFO L290 TraceCheckUtils]: 65: Hoare triple {27222#(< main_~b~0 main_~c~0)} assume !false; {27222#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:15:52,256 INFO L290 TraceCheckUtils]: 64: Hoare triple {27215#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27222#(< main_~b~0 main_~c~0)} is VALID [2022-04-27 13:15:52,256 INFO L290 TraceCheckUtils]: 63: Hoare triple {27215#(< main_~b~0 main_~a~0)} assume !false; {27215#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:15:52,257 INFO L290 TraceCheckUtils]: 62: Hoare triple {27205#(< main_~c~0 main_~b~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {27215#(< main_~b~0 main_~a~0)} is VALID [2022-04-27 13:15:52,258 INFO L290 TraceCheckUtils]: 61: Hoare triple {27205#(< main_~c~0 main_~b~0)} assume !(~c~0 >= ~b~0); {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:52,258 INFO L290 TraceCheckUtils]: 60: Hoare triple {27205#(< main_~c~0 main_~b~0)} assume !false; {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:52,259 INFO L290 TraceCheckUtils]: 59: Hoare triple {27445#(< main_~c~0 (+ main_~b~0 main_~v~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {27205#(< main_~c~0 main_~b~0)} is VALID [2022-04-27 13:15:52,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {27134#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {27445#(< main_~c~0 (+ main_~b~0 main_~v~0))} is VALID [2022-04-27 13:15:52,260 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #108#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,260 INFO L290 TraceCheckUtils]: 56: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,260 INFO L290 TraceCheckUtils]: 55: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,260 INFO L290 TraceCheckUtils]: 54: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,261 INFO L272 TraceCheckUtils]: 53: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,261 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #106#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,261 INFO L290 TraceCheckUtils]: 51: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,261 INFO L290 TraceCheckUtils]: 50: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,261 INFO L272 TraceCheckUtils]: 48: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,262 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #104#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,262 INFO L290 TraceCheckUtils]: 46: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,262 INFO L290 TraceCheckUtils]: 45: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,262 INFO L290 TraceCheckUtils]: 44: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,262 INFO L272 TraceCheckUtils]: 43: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,262 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27021#true} {27134#(<= main_~v~0 main_~b~0)} #102#return; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 41: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 40: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 39: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L272 TraceCheckUtils]: 38: Hoare triple {27134#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 37: Hoare triple {27134#(<= main_~v~0 main_~b~0)} assume !false; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 36: Hoare triple {27021#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {27134#(<= main_~v~0 main_~b~0)} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 35: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 34: Hoare triple {27021#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {27021#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; {27021#true} is VALID [2022-04-27 13:15:52,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {27021#true} assume !(~c~0 >= ~b~0); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 30: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 29: Hoare triple {27021#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 28: Hoare triple {27021#true} assume !false; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 27: Hoare triple {27021#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27021#true} {27021#true} #100#return; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 25: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 24: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 23: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L272 TraceCheckUtils]: 22: Hoare triple {27021#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27021#true} {27021#true} #98#return; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 20: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 19: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 18: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L272 TraceCheckUtils]: 17: Hoare triple {27021#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27021#true} {27021#true} #96#return; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 15: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L272 TraceCheckUtils]: 12: Hoare triple {27021#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 11: Hoare triple {27021#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27021#true} {27021#true} #94#return; {27021#true} is VALID [2022-04-27 13:15:52,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L290 TraceCheckUtils]: 8: Hoare triple {27021#true} assume !(0 == ~cond); {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {27021#true} ~cond := #in~cond; {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {27021#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {27021#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {27021#true} call #t~ret6 := main(); {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27021#true} {27021#true} #112#return; {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {27021#true} assume true; {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {27021#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); {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {27021#true} call ULTIMATE.init(); {27021#true} is VALID [2022-04-27 13:15:52,265 INFO L134 CoverageAnalysis]: Checked inductivity of 194 backedges. 38 proven. 16 refuted. 0 times theorem prover too weak. 140 trivial. 0 not checked. [2022-04-27 13:15:52,265 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:15:52,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1368705288] [2022-04-27 13:15:52,265 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:15:52,265 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1714050253] [2022-04-27 13:15:52,265 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1714050253] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:15:52,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:15:52,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 11 [2022-04-27 13:15:52,266 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1984713025] [2022-04-27 13:15:52,266 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:15:52,266 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 99 [2022-04-27 13:15:52,266 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:15:52,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:15:52,326 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:52,327 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:15:52,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:15:52,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:15:52,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=89, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:15:52,327 INFO L87 Difference]: Start difference. First operand 913 states and 1411 transitions. Second operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:15:58,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:15:58,355 INFO L93 Difference]: Finished difference Result 1057 states and 1631 transitions. [2022-04-27 13:15:58,355 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2022-04-27 13:15:58,356 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 99 [2022-04-27 13:15:58,356 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:15:58,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:15:58,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 186 transitions. [2022-04-27 13:15:58,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:15:58,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 186 transitions. [2022-04-27 13:15:58,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 24 states and 186 transitions. [2022-04-27 13:15:58,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:15:58,625 INFO L225 Difference]: With dead ends: 1057 [2022-04-27 13:15:58,625 INFO L226 Difference]: Without dead ends: 1050 [2022-04-27 13:15:58,626 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 194 SyntacticMatches, 1 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=189, Invalid=623, Unknown=0, NotChecked=0, Total=812 [2022-04-27 13:15:58,626 INFO L413 NwaCegarLoop]: 91 mSDtfsCounter, 61 mSDsluCounter, 345 mSDsCounter, 0 mSdLazyCounter, 531 mSolverCounterSat, 101 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 436 SdHoareTripleChecker+Invalid, 632 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 101 IncrementalHoareTripleChecker+Valid, 531 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:15:58,627 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 436 Invalid, 632 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [101 Valid, 531 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:15:58,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1050 states. [2022-04-27 13:16:01,438 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1050 to 772. [2022-04-27 13:16:01,438 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:16:01,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1050 states. Second operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:16:01,445 INFO L74 IsIncluded]: Start isIncluded. First operand 1050 states. Second operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:16:01,446 INFO L87 Difference]: Start difference. First operand 1050 states. Second operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:16:01,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:16:01,489 INFO L93 Difference]: Finished difference Result 1050 states and 1624 transitions. [2022-04-27 13:16:01,489 INFO L276 IsEmpty]: Start isEmpty. Operand 1050 states and 1624 transitions. [2022-04-27 13:16:01,492 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:16:01,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:16:01,493 INFO L74 IsIncluded]: Start isIncluded. First operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) Second operand 1050 states. [2022-04-27 13:16:01,494 INFO L87 Difference]: Start difference. First operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) Second operand 1050 states. [2022-04-27 13:16:01,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:16:01,538 INFO L93 Difference]: Finished difference Result 1050 states and 1624 transitions. [2022-04-27 13:16:01,538 INFO L276 IsEmpty]: Start isEmpty. Operand 1050 states and 1624 transitions. [2022-04-27 13:16:01,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:16:01,541 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:16:01,541 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:16:01,541 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:16:01,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 772 states, 392 states have (on average 1.2755102040816326) internal successors, (500), 394 states have internal predecessors, (500), 345 states have call successors, (345), 35 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:16:01,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 772 states to 772 states and 1188 transitions. [2022-04-27 13:16:01,579 INFO L78 Accepts]: Start accepts. Automaton has 772 states and 1188 transitions. Word has length 99 [2022-04-27 13:16:01,579 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:16:01,579 INFO L495 AbstractCegarLoop]: Abstraction has 772 states and 1188 transitions. [2022-04-27 13:16:01,579 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 11 states have internal predecessors, (40), 4 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-27 13:16:01,579 INFO L276 IsEmpty]: Start isEmpty. Operand 772 states and 1188 transitions. [2022-04-27 13:16:01,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 120 [2022-04-27 13:16:01,580 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:16:01,580 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 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] [2022-04-27 13:16:01,599 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:16:01,797 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:16:01,797 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:16:01,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:16:01,797 INFO L85 PathProgramCache]: Analyzing trace with hash -851432394, now seen corresponding path program 1 times [2022-04-27 13:16:01,797 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:16:01,797 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1371686655] [2022-04-27 13:16:01,797 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:16:01,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:16:01,810 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:16:01,810 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1187257594] [2022-04-27 13:16:01,810 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:16:01,810 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:16:01,811 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:16:01,816 INFO L229 MonitoredProcess]: Starting monitored process 19 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:16:01,817 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-27 13:16:01,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:16:01,874 INFO L263 TraceCheckSpWp]: Trace formula consists of 286 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-27 13:16:01,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:16:01,890 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:16:02,888 INFO L272 TraceCheckUtils]: 0: Hoare triple {32791#true} call ULTIMATE.init(); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 1: Hoare triple {32791#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); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 2: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32791#true} {32791#true} #112#return; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L272 TraceCheckUtils]: 4: Hoare triple {32791#true} call #t~ret6 := main(); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 5: Hoare triple {32791#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L272 TraceCheckUtils]: 6: Hoare triple {32791#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32791#true} {32791#true} #94#return; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 11: Hoare triple {32791#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L272 TraceCheckUtils]: 12: Hoare triple {32791#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 13: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 14: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 15: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {32791#true} {32791#true} #96#return; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L272 TraceCheckUtils]: 17: Hoare triple {32791#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 19: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L290 TraceCheckUtils]: 20: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32791#true} {32791#true} #98#return; {32791#true} is VALID [2022-04-27 13:16:02,889 INFO L272 TraceCheckUtils]: 22: Hoare triple {32791#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,890 INFO L290 TraceCheckUtils]: 24: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,890 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32791#true} {32791#true} #100#return; {32791#true} is VALID [2022-04-27 13:16:02,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {32791#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32877#(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:16:02,890 INFO L290 TraceCheckUtils]: 28: Hoare triple {32877#(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; {32877#(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:16:02,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {32877#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32884#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,891 INFO L290 TraceCheckUtils]: 30: Hoare triple {32884#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {32884#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,891 INFO L290 TraceCheckUtils]: 31: Hoare triple {32884#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,892 INFO L272 TraceCheckUtils]: 33: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,892 INFO L290 TraceCheckUtils]: 34: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,892 INFO L290 TraceCheckUtils]: 35: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,892 INFO L290 TraceCheckUtils]: 36: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,892 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {32791#true} {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,893 INFO L272 TraceCheckUtils]: 38: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 41: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32791#true} {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,893 INFO L272 TraceCheckUtils]: 43: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 44: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 45: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,893 INFO L290 TraceCheckUtils]: 46: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,894 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32791#true} {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,894 INFO L272 TraceCheckUtils]: 48: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,894 INFO L290 TraceCheckUtils]: 49: Hoare triple {32791#true} ~cond := #in~cond; {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:02,894 INFO L290 TraceCheckUtils]: 50: Hoare triple {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,895 INFO L290 TraceCheckUtils]: 51: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,895 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,896 INFO L290 TraceCheckUtils]: 53: Hoare triple {32891#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,896 INFO L290 TraceCheckUtils]: 54: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,896 INFO L272 TraceCheckUtils]: 55: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= 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)); {32791#true} is VALID [2022-04-27 13:16:02,896 INFO L290 TraceCheckUtils]: 56: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,896 INFO L290 TraceCheckUtils]: 57: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,896 INFO L290 TraceCheckUtils]: 58: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,897 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32791#true} {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,897 INFO L272 TraceCheckUtils]: 60: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,897 INFO L290 TraceCheckUtils]: 61: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,897 INFO L290 TraceCheckUtils]: 62: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,897 INFO L290 TraceCheckUtils]: 63: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,897 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32791#true} {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,897 INFO L272 TraceCheckUtils]: 65: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= 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)); {32791#true} is VALID [2022-04-27 13:16:02,898 INFO L290 TraceCheckUtils]: 66: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,898 INFO L290 TraceCheckUtils]: 67: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,898 INFO L290 TraceCheckUtils]: 68: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,898 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32791#true} {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,898 INFO L272 TraceCheckUtils]: 70: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,898 INFO L290 TraceCheckUtils]: 71: Hoare triple {32791#true} ~cond := #in~cond; {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:02,899 INFO L290 TraceCheckUtils]: 72: Hoare triple {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,899 INFO L290 TraceCheckUtils]: 73: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,899 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,900 INFO L290 TraceCheckUtils]: 75: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {32960#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {33030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,901 INFO L290 TraceCheckUtils]: 77: Hoare triple {33030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {33030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,902 INFO L290 TraceCheckUtils]: 78: Hoare triple {33030#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,902 INFO L290 TraceCheckUtils]: 79: Hoare triple {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,902 INFO L272 TraceCheckUtils]: 80: Hoare triple {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= 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)); {32791#true} is VALID [2022-04-27 13:16:02,902 INFO L290 TraceCheckUtils]: 81: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,902 INFO L290 TraceCheckUtils]: 82: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,902 INFO L290 TraceCheckUtils]: 83: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,903 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {32791#true} {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,903 INFO L272 TraceCheckUtils]: 85: Hoare triple {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,903 INFO L290 TraceCheckUtils]: 86: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,903 INFO L290 TraceCheckUtils]: 87: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,903 INFO L290 TraceCheckUtils]: 88: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,903 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {32791#true} {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,904 INFO L272 TraceCheckUtils]: 90: Hoare triple {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= 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)); {32791#true} is VALID [2022-04-27 13:16:02,904 INFO L290 TraceCheckUtils]: 91: Hoare triple {32791#true} ~cond := #in~cond; {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:02,904 INFO L290 TraceCheckUtils]: 92: Hoare triple {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,904 INFO L290 TraceCheckUtils]: 93: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,905 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {33037#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {33086#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,905 INFO L272 TraceCheckUtils]: 95: Hoare triple {33086#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,905 INFO L290 TraceCheckUtils]: 96: Hoare triple {32791#true} ~cond := #in~cond; {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:02,905 INFO L290 TraceCheckUtils]: 97: Hoare triple {32946#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,906 INFO L290 TraceCheckUtils]: 98: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:02,906 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {33086#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {33102#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= (+ (* main_~k~0 main_~v~0) main_~c~0) main_~x~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,907 INFO L290 TraceCheckUtils]: 100: Hoare triple {33102#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= (+ (* main_~k~0 main_~v~0) main_~c~0) main_~x~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {33102#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= (+ (* main_~k~0 main_~v~0) main_~c~0) main_~x~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:16:02,907 INFO L290 TraceCheckUtils]: 101: Hoare triple {33102#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~y~0 main_~v~0) (= (+ (* main_~k~0 main_~v~0) main_~c~0) main_~x~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~c~0))} is VALID [2022-04-27 13:16:02,908 INFO L290 TraceCheckUtils]: 102: Hoare triple {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~c~0))} assume !false; {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~c~0))} is VALID [2022-04-27 13:16:02,908 INFO L290 TraceCheckUtils]: 103: Hoare triple {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~c~0))} assume !(~c~0 >= ~b~0); {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~c~0))} is VALID [2022-04-27 13:16:02,908 INFO L290 TraceCheckUtils]: 104: Hoare triple {33109#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 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; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,909 INFO L290 TraceCheckUtils]: 105: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !false; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,909 INFO L290 TraceCheckUtils]: 106: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,909 INFO L290 TraceCheckUtils]: 107: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !false; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,910 INFO L290 TraceCheckUtils]: 108: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,910 INFO L290 TraceCheckUtils]: 109: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} assume !false; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,910 INFO L272 TraceCheckUtils]: 110: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:02,910 INFO L290 TraceCheckUtils]: 111: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:02,910 INFO L290 TraceCheckUtils]: 112: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:02,910 INFO L290 TraceCheckUtils]: 113: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:02,910 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {32791#true} {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} #102#return; {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} is VALID [2022-04-27 13:16:02,911 INFO L272 TraceCheckUtils]: 115: Hoare triple {33119#(and (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~b~0) (= (+ main_~s~0 3) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {33153#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:16:02,911 INFO L290 TraceCheckUtils]: 116: Hoare triple {33153#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33157#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:02,911 INFO L290 TraceCheckUtils]: 117: Hoare triple {33157#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32792#false} is VALID [2022-04-27 13:16:02,911 INFO L290 TraceCheckUtils]: 118: Hoare triple {32792#false} assume !false; {32792#false} is VALID [2022-04-27 13:16:02,912 INFO L134 CoverageAnalysis]: Checked inductivity of 404 backedges. 97 proven. 79 refuted. 0 times theorem prover too weak. 228 trivial. 0 not checked. [2022-04-27 13:16:02,912 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:16:46,680 INFO L290 TraceCheckUtils]: 118: Hoare triple {32792#false} assume !false; {32792#false} is VALID [2022-04-27 13:16:46,681 INFO L290 TraceCheckUtils]: 117: Hoare triple {33157#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32792#false} is VALID [2022-04-27 13:16:46,681 INFO L290 TraceCheckUtils]: 116: Hoare triple {33153#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {33157#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:16:46,681 INFO L272 TraceCheckUtils]: 115: Hoare triple {33173#(= 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)); {33153#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:16:46,682 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {32791#true} {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:46,682 INFO L290 TraceCheckUtils]: 113: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:46,682 INFO L290 TraceCheckUtils]: 112: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:46,682 INFO L290 TraceCheckUtils]: 111: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:46,682 INFO L272 TraceCheckUtils]: 110: Hoare triple {33173#(= 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)); {32791#true} is VALID [2022-04-27 13:16:46,683 INFO L290 TraceCheckUtils]: 109: Hoare triple {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:46,683 INFO L290 TraceCheckUtils]: 108: Hoare triple {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:46,683 INFO L290 TraceCheckUtils]: 107: Hoare triple {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:46,683 INFO L290 TraceCheckUtils]: 106: Hoare triple {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:46,684 INFO L290 TraceCheckUtils]: 105: Hoare triple {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:47,268 INFO L290 TraceCheckUtils]: 104: Hoare triple {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {33173#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 13:16:47,268 INFO L290 TraceCheckUtils]: 103: Hoare triple {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !(~c~0 >= ~b~0); {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:16:47,269 INFO L290 TraceCheckUtils]: 102: Hoare triple {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} assume !false; {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:16:48,129 INFO L290 TraceCheckUtils]: 101: Hoare triple {33217#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {33207#(= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0)} is VALID [2022-04-27 13:16:48,130 INFO L290 TraceCheckUtils]: 100: Hoare triple {33217#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} assume !(~c~0 >= 2 * ~v~0); {33217#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-27 13:16:48,131 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {33224#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {33217#(= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)))} is VALID [2022-04-27 13:16:48,131 INFO L290 TraceCheckUtils]: 98: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,132 INFO L290 TraceCheckUtils]: 97: Hoare triple {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,132 INFO L290 TraceCheckUtils]: 96: Hoare triple {32791#true} ~cond := #in~cond; {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:16:48,132 INFO L272 TraceCheckUtils]: 95: Hoare triple {33224#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,133 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {33224#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,133 INFO L290 TraceCheckUtils]: 93: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,133 INFO L290 TraceCheckUtils]: 92: Hoare triple {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,134 INFO L290 TraceCheckUtils]: 91: Hoare triple {32791#true} ~cond := #in~cond; {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:16:48,134 INFO L272 TraceCheckUtils]: 90: Hoare triple {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,135 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {32791#true} {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,135 INFO L290 TraceCheckUtils]: 88: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,135 INFO L290 TraceCheckUtils]: 87: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,135 INFO L290 TraceCheckUtils]: 86: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,135 INFO L272 TraceCheckUtils]: 85: Hoare triple {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,135 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {32791#true} {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,136 INFO L290 TraceCheckUtils]: 83: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,136 INFO L290 TraceCheckUtils]: 82: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,136 INFO L290 TraceCheckUtils]: 81: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,136 INFO L272 TraceCheckUtils]: 80: Hoare triple {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,136 INFO L290 TraceCheckUtils]: 79: Hoare triple {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,137 INFO L290 TraceCheckUtils]: 78: Hoare triple {33290#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33241#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,137 INFO L290 TraceCheckUtils]: 77: Hoare triple {33290#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {33290#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-27 13:16:48,269 INFO L290 TraceCheckUtils]: 76: Hoare triple {33297#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {33290#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-27 13:16:48,270 INFO L290 TraceCheckUtils]: 75: Hoare triple {33297#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))))} assume !(~c~0 >= 2 * ~v~0); {33297#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))))} is VALID [2022-04-27 13:16:48,271 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {33297#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))))} is VALID [2022-04-27 13:16:48,271 INFO L290 TraceCheckUtils]: 73: Hoare triple {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,271 INFO L290 TraceCheckUtils]: 72: Hoare triple {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32950#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:16:48,271 INFO L290 TraceCheckUtils]: 71: Hoare triple {32791#true} ~cond := #in~cond; {33234#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:16:48,272 INFO L272 TraceCheckUtils]: 70: Hoare triple {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,272 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {32791#true} {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,272 INFO L290 TraceCheckUtils]: 68: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,272 INFO L290 TraceCheckUtils]: 67: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,272 INFO L290 TraceCheckUtils]: 66: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,272 INFO L272 TraceCheckUtils]: 65: Hoare triple {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,273 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {32791#true} {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,273 INFO L290 TraceCheckUtils]: 63: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,273 INFO L290 TraceCheckUtils]: 62: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,273 INFO L290 TraceCheckUtils]: 61: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,273 INFO L272 TraceCheckUtils]: 60: Hoare triple {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,274 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {32791#true} {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,274 INFO L290 TraceCheckUtils]: 58: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,274 INFO L290 TraceCheckUtils]: 57: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,274 INFO L290 TraceCheckUtils]: 56: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,274 INFO L272 TraceCheckUtils]: 55: Hoare triple {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,275 INFO L290 TraceCheckUtils]: 54: Hoare triple {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,445 INFO L290 TraceCheckUtils]: 53: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {33304#(or (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 1) main_~v~0)) (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 (+ main_~d~0 main_~k~0)) (* (- 1) main_~v~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-27 13:16:48,446 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32791#true} {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} #108#return; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,446 INFO L272 TraceCheckUtils]: 48: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,447 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32791#true} {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} #106#return; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,447 INFO L290 TraceCheckUtils]: 46: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,447 INFO L290 TraceCheckUtils]: 45: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,447 INFO L290 TraceCheckUtils]: 44: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,447 INFO L272 TraceCheckUtils]: 43: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,448 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32791#true} {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} #104#return; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,448 INFO L290 TraceCheckUtils]: 41: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,448 INFO L290 TraceCheckUtils]: 40: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,448 INFO L290 TraceCheckUtils]: 39: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,448 INFO L272 TraceCheckUtils]: 38: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,449 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {32791#true} {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} #102#return; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,449 INFO L290 TraceCheckUtils]: 36: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,449 INFO L290 TraceCheckUtils]: 35: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,449 INFO L272 TraceCheckUtils]: 33: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} assume !false; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {33435#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~b~0 (- 3)) main_~c~0)) (not (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {33368#(or (not (= (* main_~v~0 2) (* main_~b~0 (* main_~d~0 2)))) (not (= main_~a~0 (+ main_~c~0 (* (+ main_~k~0 (* main_~d~0 2)) main_~b~0) (* (- 2) main_~v~0)))) (= (+ main_~c~0 (* (- 1) main_~b~0) (* (- 2) main_~v~0)) (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0))))} is VALID [2022-04-27 13:16:48,451 INFO L290 TraceCheckUtils]: 30: Hoare triple {33435#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~b~0 (- 3)) main_~c~0)) (not (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0)))))} assume !false; {33435#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~b~0 (- 3)) main_~c~0)) (not (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0)))))} is VALID [2022-04-27 13:16:48,451 INFO L290 TraceCheckUtils]: 29: Hoare triple {33442#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {33435#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~b~0 (- 3)) main_~c~0)) (not (= main_~a~0 (+ (* (- 2) main_~b~0) main_~c~0 (* (+ main_~k~0 2) main_~b~0)))))} is VALID [2022-04-27 13:16:48,451 INFO L290 TraceCheckUtils]: 28: Hoare triple {33442#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !false; {33442#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {32791#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {33442#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-27 13:16:48,452 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {32791#true} {32791#true} #100#return; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 24: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 23: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L272 TraceCheckUtils]: 22: Hoare triple {32791#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {32791#true} {32791#true} #98#return; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 20: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 19: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 18: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L272 TraceCheckUtils]: 17: Hoare triple {32791#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {32791#true} {32791#true} #96#return; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 15: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,452 INFO L290 TraceCheckUtils]: 14: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L272 TraceCheckUtils]: 12: Hoare triple {32791#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 11: Hoare triple {32791#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32791#true} {32791#true} #94#return; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 8: Hoare triple {32791#true} assume !(0 == ~cond); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {32791#true} ~cond := #in~cond; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L272 TraceCheckUtils]: 6: Hoare triple {32791#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 5: Hoare triple {32791#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L272 TraceCheckUtils]: 4: Hoare triple {32791#true} call #t~ret6 := main(); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32791#true} {32791#true} #112#return; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {32791#true} assume true; {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L290 TraceCheckUtils]: 1: Hoare triple {32791#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); {32791#true} is VALID [2022-04-27 13:16:48,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {32791#true} call ULTIMATE.init(); {32791#true} is VALID [2022-04-27 13:16:48,454 INFO L134 CoverageAnalysis]: Checked inductivity of 404 backedges. 98 proven. 60 refuted. 0 times theorem prover too weak. 246 trivial. 0 not checked. [2022-04-27 13:16:48,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:16:48,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1371686655] [2022-04-27 13:16:48,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:16:48,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1187257594] [2022-04-27 13:16:48,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1187257594] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:16:48,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:16:48,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17] total 28 [2022-04-27 13:16:48,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2022468415] [2022-04-27 13:16:48,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:16:48,455 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) Word has length 119 [2022-04-27 13:16:48,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:16:48,456 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) [2022-04-27 13:16:51,115 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 128 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:16:51,116 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 28 states [2022-04-27 13:16:51,116 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:16:51,116 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2022-04-27 13:16:51,116 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=151, Invalid=605, Unknown=0, NotChecked=0, Total=756 [2022-04-27 13:16:51,116 INFO L87 Difference]: Start difference. First operand 772 states and 1188 transitions. Second operand has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) [2022-04-27 13:17:04,481 WARN L232 SmtUtils]: Spent 8.17s on a formula simplification. DAG size of input: 123 DAG size of output: 24 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:17:25,528 WARN L232 SmtUtils]: Spent 15.25s on a formula simplification. DAG size of input: 132 DAG size of output: 58 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:17:39,468 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:17:41,329 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.60s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:17:45,624 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.83s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:17:48,722 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.07s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:17:50,725 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:17:59,801 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:05,703 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:07,731 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:09,733 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:11,740 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:14,863 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:16,866 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:33,864 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:35,868 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:38,643 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:18:40,647 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:05,016 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:07,029 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:09,032 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:11,045 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:13,063 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:19:16,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:19:16,410 INFO L93 Difference]: Finished difference Result 895 states and 1383 transitions. [2022-04-27 13:19:16,410 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 13:19:16,410 INFO L78 Accepts]: Start accepts. Automaton has has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) Word has length 119 [2022-04-27 13:19:16,411 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:19:16,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) [2022-04-27 13:19:16,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 159 transitions. [2022-04-27 13:19:16,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) [2022-04-27 13:19:16,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 159 transitions. [2022-04-27 13:19:16,414 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 159 transitions. [2022-04-27 13:19:21,280 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 158 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 13:19:21,328 INFO L225 Difference]: With dead ends: 895 [2022-04-27 13:19:21,328 INFO L226 Difference]: Without dead ends: 891 [2022-04-27 13:19:21,329 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 253 GetRequests, 208 SyntacticMatches, 6 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 425 ImplicationChecksByTransitivity, 66.2s TimeCoverageRelationStatistics Valid=369, Invalid=1267, Unknown=4, NotChecked=0, Total=1640 [2022-04-27 13:19:21,329 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 124 mSDsluCounter, 358 mSDsCounter, 0 mSdLazyCounter, 1053 mSolverCounterSat, 313 mSolverCounterUnsat, 18 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 50.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 126 SdHoareTripleChecker+Valid, 408 SdHoareTripleChecker+Invalid, 1384 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 313 IncrementalHoareTripleChecker+Valid, 1053 IncrementalHoareTripleChecker+Invalid, 18 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 50.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:19:21,329 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [126 Valid, 408 Invalid, 1384 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [313 Valid, 1053 Invalid, 18 Unknown, 0 Unchecked, 50.1s Time] [2022-04-27 13:19:21,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 891 states. [2022-04-27 13:19:24,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 891 to 774. [2022-04-27 13:19:24,405 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:19:24,419 INFO L82 GeneralOperation]: Start isEquivalent. First operand 891 states. Second operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:19:24,420 INFO L74 IsIncluded]: Start isIncluded. First operand 891 states. Second operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:19:24,421 INFO L87 Difference]: Start difference. First operand 891 states. Second operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:19:24,461 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:19:24,462 INFO L93 Difference]: Finished difference Result 891 states and 1379 transitions. [2022-04-27 13:19:24,462 INFO L276 IsEmpty]: Start isEmpty. Operand 891 states and 1379 transitions. [2022-04-27 13:19:24,464 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:19:24,464 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:19:24,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) Second operand 891 states. [2022-04-27 13:19:24,466 INFO L87 Difference]: Start difference. First operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) Second operand 891 states. [2022-04-27 13:19:24,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:19:24,499 INFO L93 Difference]: Finished difference Result 891 states and 1379 transitions. [2022-04-27 13:19:24,499 INFO L276 IsEmpty]: Start isEmpty. Operand 891 states and 1379 transitions. [2022-04-27 13:19:24,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:19:24,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:19:24,502 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:19:24,502 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:19:24,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 774 states, 394 states have (on average 1.2715736040609138) internal successors, (501), 395 states have internal predecessors, (501), 345 states have call successors, (345), 36 states have call predecessors, (345), 34 states have return successors, (343), 342 states have call predecessors, (343), 343 states have call successors, (343) [2022-04-27 13:19:24,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 774 states to 774 states and 1189 transitions. [2022-04-27 13:19:24,537 INFO L78 Accepts]: Start accepts. Automaton has 774 states and 1189 transitions. Word has length 119 [2022-04-27 13:19:24,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:19:24,537 INFO L495 AbstractCegarLoop]: Abstraction has 774 states and 1189 transitions. [2022-04-27 13:19:24,537 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 28 states, 26 states have (on average 2.4615384615384617) internal successors, (64), 25 states have internal predecessors, (64), 11 states have call successors, (34), 2 states have call predecessors, (34), 2 states have return successors, (31), 14 states have call predecessors, (31), 11 states have call successors, (31) [2022-04-27 13:19:24,537 INFO L276 IsEmpty]: Start isEmpty. Operand 774 states and 1189 transitions. [2022-04-27 13:19:24,539 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-27 13:19:24,539 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:19:24,539 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:19:24,573 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-27 13:19:24,755 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:19:24,756 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:19:24,756 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:19:24,756 INFO L85 PathProgramCache]: Analyzing trace with hash -1937049344, now seen corresponding path program 2 times [2022-04-27 13:19:24,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:19:24,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1396677952] [2022-04-27 13:19:24,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:19:24,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:19:24,776 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:19:24,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1254271028] [2022-04-27 13:19:24,776 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:19:24,776 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:19:24,776 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:19:24,779 INFO L229 MonitoredProcess]: Starting monitored process 20 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:19:24,801 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-27 13:19:24,846 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:19:24,847 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:19:24,848 INFO L263 TraceCheckSpWp]: Trace formula consists of 331 conjuncts, 90 conjunts are in the unsatisfiable core [2022-04-27 13:19:24,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:19:24,873 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:20:48,659 INFO L272 TraceCheckUtils]: 0: Hoare triple {38107#true} call ULTIMATE.init(); {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 1: Hoare triple {38107#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); {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 2: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38107#true} {38107#true} #112#return; {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L272 TraceCheckUtils]: 4: Hoare triple {38107#true} call #t~ret6 := main(); {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 5: Hoare triple {38107#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L272 TraceCheckUtils]: 6: Hoare triple {38107#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 7: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 8: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,659 INFO L290 TraceCheckUtils]: 9: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38107#true} {38107#true} #94#return; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {38107#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L272 TraceCheckUtils]: 12: Hoare triple {38107#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {38107#true} {38107#true} #96#return; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L272 TraceCheckUtils]: 17: Hoare triple {38107#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {38107#true} {38107#true} #98#return; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L272 TraceCheckUtils]: 22: Hoare triple {38107#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 23: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L290 TraceCheckUtils]: 25: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,660 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {38107#true} {38107#true} #100#return; {38107#true} is VALID [2022-04-27 13:20:48,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {38107#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38193#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:20:48,661 INFO L290 TraceCheckUtils]: 28: Hoare triple {38193#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {38193#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 13:20:48,661 INFO L290 TraceCheckUtils]: 29: Hoare triple {38193#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38200#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,661 INFO L290 TraceCheckUtils]: 30: Hoare triple {38200#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {38200#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,662 INFO L290 TraceCheckUtils]: 31: Hoare triple {38200#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,662 INFO L290 TraceCheckUtils]: 32: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,662 INFO L272 TraceCheckUtils]: 33: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,662 INFO L290 TraceCheckUtils]: 34: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,662 INFO L290 TraceCheckUtils]: 35: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,662 INFO L290 TraceCheckUtils]: 36: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,686 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {38107#true} {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #102#return; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,686 INFO L272 TraceCheckUtils]: 38: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,686 INFO L290 TraceCheckUtils]: 40: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,687 INFO L290 TraceCheckUtils]: 41: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,687 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {38107#true} {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #104#return; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,687 INFO L272 TraceCheckUtils]: 43: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,687 INFO L290 TraceCheckUtils]: 44: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,687 INFO L290 TraceCheckUtils]: 45: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,687 INFO L290 TraceCheckUtils]: 46: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,688 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {38107#true} {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #106#return; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,688 INFO L272 TraceCheckUtils]: 48: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,688 INFO L290 TraceCheckUtils]: 49: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,688 INFO L290 TraceCheckUtils]: 50: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,688 INFO L290 TraceCheckUtils]: 51: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,689 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {38107#true} {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #108#return; {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,689 INFO L290 TraceCheckUtils]: 53: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= 2 * ~v~0); {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-27 13:20:48,689 INFO L290 TraceCheckUtils]: 54: Hoare triple {38207#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:20:48,690 INFO L290 TraceCheckUtils]: 55: Hoare triple {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:20:48,690 INFO L290 TraceCheckUtils]: 56: Hoare triple {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 13:20:48,691 INFO L290 TraceCheckUtils]: 57: Hoare triple {38277#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~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; {38287#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,691 INFO L290 TraceCheckUtils]: 58: Hoare triple {38287#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {38287#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,691 INFO L290 TraceCheckUtils]: 59: Hoare triple {38287#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {38294#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,692 INFO L290 TraceCheckUtils]: 60: Hoare triple {38294#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {38294#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,692 INFO L290 TraceCheckUtils]: 61: Hoare triple {38294#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,692 INFO L290 TraceCheckUtils]: 62: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !false; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,693 INFO L272 TraceCheckUtils]: 63: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 64: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 65: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 66: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {38107#true} {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #102#return; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,693 INFO L272 TraceCheckUtils]: 68: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 69: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 70: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,693 INFO L290 TraceCheckUtils]: 71: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,694 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {38107#true} {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #104#return; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,694 INFO L272 TraceCheckUtils]: 73: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,694 INFO L290 TraceCheckUtils]: 74: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,694 INFO L290 TraceCheckUtils]: 75: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,694 INFO L290 TraceCheckUtils]: 76: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,695 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {38107#true} {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #106#return; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,695 INFO L272 TraceCheckUtils]: 78: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,695 INFO L290 TraceCheckUtils]: 79: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,695 INFO L290 TraceCheckUtils]: 80: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,695 INFO L290 TraceCheckUtils]: 81: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,696 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {38107#true} {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} #108#return; {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} is VALID [2022-04-27 13:20:48,697 INFO L290 TraceCheckUtils]: 83: Hoare triple {38301#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,698 INFO L290 TraceCheckUtils]: 84: Hoare triple {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} assume !false; {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,698 INFO L272 TraceCheckUtils]: 85: Hoare triple {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,698 INFO L290 TraceCheckUtils]: 86: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,698 INFO L290 TraceCheckUtils]: 87: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,698 INFO L290 TraceCheckUtils]: 88: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,699 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {38107#true} {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} #102#return; {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,699 INFO L272 TraceCheckUtils]: 90: Hoare triple {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,699 INFO L290 TraceCheckUtils]: 91: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,699 INFO L290 TraceCheckUtils]: 92: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,699 INFO L290 TraceCheckUtils]: 93: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,699 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {38107#true} {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} #104#return; {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,700 INFO L272 TraceCheckUtils]: 95: Hoare triple {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,700 INFO L290 TraceCheckUtils]: 96: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,700 INFO L290 TraceCheckUtils]: 97: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,700 INFO L290 TraceCheckUtils]: 98: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,700 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {38107#true} {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} #106#return; {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,700 INFO L272 TraceCheckUtils]: 100: Hoare triple {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,701 INFO L290 TraceCheckUtils]: 101: Hoare triple {38107#true} ~cond := #in~cond; {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:20:48,701 INFO L290 TraceCheckUtils]: 102: Hoare triple {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,701 INFO L290 TraceCheckUtils]: 103: Hoare triple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,702 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} {38368#(and (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} #108#return; {38434#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-27 13:20:48,705 INFO L290 TraceCheckUtils]: 105: Hoare triple {38434#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {38438#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0))} is VALID [2022-04-27 13:20:48,705 INFO L290 TraceCheckUtils]: 106: Hoare triple {38438#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0))} assume !false; {38438#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0))} is VALID [2022-04-27 13:20:48,705 INFO L272 TraceCheckUtils]: 107: Hoare triple {38438#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,705 INFO L290 TraceCheckUtils]: 108: Hoare triple {38107#true} ~cond := #in~cond; {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:20:48,706 INFO L290 TraceCheckUtils]: 109: Hoare triple {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,706 INFO L290 TraceCheckUtils]: 110: Hoare triple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,707 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} {38438#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= main_~a~0 main_~y~0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0))} #102#return; {38457#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,707 INFO L272 TraceCheckUtils]: 112: Hoare triple {38457#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,707 INFO L290 TraceCheckUtils]: 113: Hoare triple {38107#true} ~cond := #in~cond; {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:20:48,708 INFO L290 TraceCheckUtils]: 114: Hoare triple {38423#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,708 INFO L290 TraceCheckUtils]: 115: Hoare triple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:20:48,709 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {38427#(not (= |__VERIFIER_assert_#in~cond| 0))} {38457#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,709 INFO L272 TraceCheckUtils]: 117: Hoare triple {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,709 INFO L290 TraceCheckUtils]: 118: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,709 INFO L290 TraceCheckUtils]: 119: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,709 INFO L290 TraceCheckUtils]: 120: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,710 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {38107#true} {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,710 INFO L272 TraceCheckUtils]: 122: Hoare triple {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {38107#true} is VALID [2022-04-27 13:20:48,710 INFO L290 TraceCheckUtils]: 123: Hoare triple {38107#true} ~cond := #in~cond; {38107#true} is VALID [2022-04-27 13:20:48,710 INFO L290 TraceCheckUtils]: 124: Hoare triple {38107#true} assume !(0 == ~cond); {38107#true} is VALID [2022-04-27 13:20:48,710 INFO L290 TraceCheckUtils]: 125: Hoare triple {38107#true} assume true; {38107#true} is VALID [2022-04-27 13:20:48,710 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {38107#true} {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,711 INFO L290 TraceCheckUtils]: 127: Hoare triple {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,714 INFO L290 TraceCheckUtils]: 128: Hoare triple {38473#(and (= (* main_~b~0 (div main_~d~0 2)) (* main_~b~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= (mod (div main_~d~0 2) 2) 0) (= (mod main_~d~0 2) 0) (= (* (* main_~b~0 (div main_~d~0 2)) 2) main_~v~0) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-27 13:20:48,714 INFO L290 TraceCheckUtils]: 129: Hoare triple {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-27 13:20:48,715 INFO L290 TraceCheckUtils]: 130: Hoare triple {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !(~c~0 >= ~b~0); {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-27 13:20:48,822 INFO L290 TraceCheckUtils]: 131: Hoare triple {38510#(and (= (+ (* (- 1) main_~c~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (* 2 (* (div main_~k~0 2) main_~b~0))) (= (mod (div main_~k~0 2) 2) 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= (* main_~b~0 2) (* (div main_~k~0 2) main_~b~0)) (= main_~x~0 (+ main_~b~0 main_~y~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; {38520#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4)) (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~b~0 (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))))} is VALID [2022-04-27 13:20:48,825 INFO L290 TraceCheckUtils]: 132: Hoare triple {38520#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4)) (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~b~0 (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))))} assume !false; {38520#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4)) (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~b~0 (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))))} is VALID [2022-04-27 13:20:48,827 INFO L290 TraceCheckUtils]: 133: Hoare triple {38520#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4)) (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~b~0 (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))))} assume !(0 != ~b~0); {38527#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (= (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28))) (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4))) (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-27 13:20:48,834 INFO L272 TraceCheckUtils]: 134: Hoare triple {38527#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (exists ((aux_div_aux_mod_main_~k~0_17_28 Int) (aux_div_aux_div_main_~k~0_17_28 Int)) (and (= (+ (* (* main_~x~0 aux_div_aux_div_main_~k~0_17_28) 4) (* 2 (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28))) (+ main_~y~0 (* 2 (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28)) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 4))) (<= 0 (* 2 aux_div_aux_mod_main_~k~0_17_28)) (= (+ (* main_~y~0 2) (* 2 (* main_~x~0 aux_div_aux_div_main_~k~0_17_28)) (* main_~x~0 aux_div_aux_mod_main_~k~0_17_28)) (+ (* main_~x~0 2) (* (* main_~y~0 aux_div_aux_div_main_~k~0_17_28) 2) (* main_~y~0 aux_div_aux_mod_main_~k~0_17_28))) (= (+ main_~s~0 (* 2 (* main_~r~0 aux_div_aux_mod_main_~k~0_17_28)) (* 4 (* main_~r~0 aux_div_aux_div_main_~k~0_17_28))) 1) (< (* 2 aux_div_aux_mod_main_~k~0_17_28) 2) (= (+ (* (* main_~p~0 aux_div_aux_mod_main_~k~0_17_28) 2) (* (* main_~p~0 aux_div_aux_div_main_~k~0_17_28) 4) main_~q~0) 0))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {38531#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:20:48,834 INFO L290 TraceCheckUtils]: 135: Hoare triple {38531#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38535#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:20:48,835 INFO L290 TraceCheckUtils]: 136: Hoare triple {38535#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {38108#false} is VALID [2022-04-27 13:20:48,835 INFO L290 TraceCheckUtils]: 137: Hoare triple {38108#false} assume !false; {38108#false} is VALID [2022-04-27 13:20:48,835 INFO L134 CoverageAnalysis]: Checked inductivity of 592 backedges. 128 proven. 77 refuted. 0 times theorem prover too weak. 387 trivial. 0 not checked. [2022-04-27 13:20:48,835 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:14,943 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:22:16,576 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:16,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1396677952] [2022-04-27 13:22:16,576 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:16,576 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1254271028] [2022-04-27 13:22:16,576 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1254271028] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:16,576 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:16,576 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21] total 21 [2022-04-27 13:22:16,576 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [995048815] [2022-04-27 13:22:16,576 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:16,577 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) Word has length 138 [2022-04-27 13:22:16,577 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:16,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) [2022-04-27 13:22:17,054 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:17,055 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-27 13:22:17,055 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:17,055 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-27 13:22:17,055 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=812, Unknown=1, NotChecked=0, Total=930 [2022-04-27 13:22:17,055 INFO L87 Difference]: Start difference. First operand 774 states and 1189 transitions. Second operand has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) [2022-04-27 13:22:30,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:30,026 INFO L93 Difference]: Finished difference Result 844 states and 1276 transitions. [2022-04-27 13:22:30,026 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-27 13:22:30,026 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) Word has length 138 [2022-04-27 13:22:30,026 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:30,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) [2022-04-27 13:22:30,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 186 transitions. [2022-04-27 13:22:30,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) [2022-04-27 13:22:30,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 186 transitions. [2022-04-27 13:22:30,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 186 transitions. [2022-04-27 13:22:30,369 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:30,439 INFO L225 Difference]: With dead ends: 844 [2022-04-27 13:22:30,439 INFO L226 Difference]: Without dead ends: 839 [2022-04-27 13:22:30,440 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 280 ImplicationChecksByTransitivity, 9.3s TimeCoverageRelationStatistics Valid=173, Invalid=1232, Unknown=1, NotChecked=0, Total=1406 [2022-04-27 13:22:30,440 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 66 mSDsluCounter, 391 mSDsCounter, 0 mSdLazyCounter, 1116 mSolverCounterSat, 94 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 81 SdHoareTripleChecker+Valid, 447 SdHoareTripleChecker+Invalid, 1425 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 94 IncrementalHoareTripleChecker+Valid, 1116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 215 IncrementalHoareTripleChecker+Unchecked, 5.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:30,441 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [81 Valid, 447 Invalid, 1425 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [94 Valid, 1116 Invalid, 0 Unknown, 215 Unchecked, 5.2s Time] [2022-04-27 13:22:30,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 839 states. [2022-04-27 13:22:33,987 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 839 to 817. [2022-04-27 13:22:33,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:33,988 INFO L82 GeneralOperation]: Start isEquivalent. First operand 839 states. Second operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) [2022-04-27 13:22:33,989 INFO L74 IsIncluded]: Start isIncluded. First operand 839 states. Second operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) [2022-04-27 13:22:33,990 INFO L87 Difference]: Start difference. First operand 839 states. Second operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) [2022-04-27 13:22:34,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:34,018 INFO L93 Difference]: Finished difference Result 839 states and 1271 transitions. [2022-04-27 13:22:34,018 INFO L276 IsEmpty]: Start isEmpty. Operand 839 states and 1271 transitions. [2022-04-27 13:22:34,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:34,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:34,021 INFO L74 IsIncluded]: Start isIncluded. First operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) Second operand 839 states. [2022-04-27 13:22:34,021 INFO L87 Difference]: Start difference. First operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) Second operand 839 states. [2022-04-27 13:22:34,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:34,049 INFO L93 Difference]: Finished difference Result 839 states and 1271 transitions. [2022-04-27 13:22:34,049 INFO L276 IsEmpty]: Start isEmpty. Operand 839 states and 1271 transitions. [2022-04-27 13:22:34,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:34,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:34,051 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:34,051 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:34,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 817 states, 417 states have (on average 1.2685851318944845) internal successors, (529), 418 states have internal predecessors, (529), 361 states have call successors, (361), 40 states have call predecessors, (361), 38 states have return successors, (359), 358 states have call predecessors, (359), 359 states have call successors, (359) [2022-04-27 13:22:34,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 817 states to 817 states and 1249 transitions. [2022-04-27 13:22:34,087 INFO L78 Accepts]: Start accepts. Automaton has 817 states and 1249 transitions. Word has length 138 [2022-04-27 13:22:34,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:34,087 INFO L495 AbstractCegarLoop]: Abstraction has 817 states and 1249 transitions. [2022-04-27 13:22:34,087 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 19 states have (on average 2.263157894736842) internal successors, (43), 18 states have internal predecessors, (43), 8 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (21), 7 states have call predecessors, (21), 7 states have call successors, (21) [2022-04-27 13:22:34,087 INFO L276 IsEmpty]: Start isEmpty. Operand 817 states and 1249 transitions. [2022-04-27 13:22:34,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 142 [2022-04-27 13:22:34,089 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:34,089 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-27 13:22:34,105 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:34,303 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:34,304 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:34,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:34,304 INFO L85 PathProgramCache]: Analyzing trace with hash -20730755, now seen corresponding path program 3 times [2022-04-27 13:22:34,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:34,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [131752507] [2022-04-27 13:22:34,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:34,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:34,318 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:34,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [48165141] [2022-04-27 13:22:34,318 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:22:34,318 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:34,319 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:34,331 INFO L229 MonitoredProcess]: Starting monitored process 21 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:22:34,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-27 13:22:34,466 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-04-27 13:22:34,466 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:22:34,468 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 83 conjunts are in the unsatisfiable core [2022-04-27 13:22:34,488 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:34,490 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:36,504 INFO L272 TraceCheckUtils]: 0: Hoare triple {43144#true} call ULTIMATE.init(); {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 1: Hoare triple {43144#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); {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 2: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43144#true} {43144#true} #112#return; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L272 TraceCheckUtils]: 4: Hoare triple {43144#true} call #t~ret6 := main(); {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 5: Hoare triple {43144#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L272 TraceCheckUtils]: 6: Hoare triple {43144#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 7: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 8: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43144#true} {43144#true} #94#return; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {43144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43144#true} is VALID [2022-04-27 13:22:36,504 INFO L272 TraceCheckUtils]: 12: Hoare triple {43144#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 13: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 14: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 15: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {43144#true} {43144#true} #96#return; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L272 TraceCheckUtils]: 17: Hoare triple {43144#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 18: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 19: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 20: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43144#true} {43144#true} #98#return; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L272 TraceCheckUtils]: 22: Hoare triple {43144#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 23: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 24: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 25: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43144#true} {43144#true} #100#return; {43144#true} is VALID [2022-04-27 13:22:36,505 INFO L290 TraceCheckUtils]: 27: Hoare triple {43144#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43230#(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:22:36,506 INFO L290 TraceCheckUtils]: 28: Hoare triple {43230#(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; {43230#(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:22:36,506 INFO L290 TraceCheckUtils]: 29: Hoare triple {43230#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {43237#(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:22:36,506 INFO L290 TraceCheckUtils]: 30: Hoare triple {43237#(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; {43237#(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:22:36,507 INFO L290 TraceCheckUtils]: 31: Hoare triple {43237#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,507 INFO L290 TraceCheckUtils]: 32: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,507 INFO L272 TraceCheckUtils]: 33: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,507 INFO L290 TraceCheckUtils]: 34: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,507 INFO L290 TraceCheckUtils]: 35: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,508 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {43144#true} {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,508 INFO L272 TraceCheckUtils]: 38: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,508 INFO L290 TraceCheckUtils]: 41: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,509 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43144#true} {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,509 INFO L272 TraceCheckUtils]: 43: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,509 INFO L290 TraceCheckUtils]: 44: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,509 INFO L290 TraceCheckUtils]: 45: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,509 INFO L290 TraceCheckUtils]: 46: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,510 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43144#true} {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,510 INFO L272 TraceCheckUtils]: 48: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,510 INFO L290 TraceCheckUtils]: 49: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,510 INFO L290 TraceCheckUtils]: 50: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,510 INFO L290 TraceCheckUtils]: 51: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,511 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43144#true} {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,511 INFO L290 TraceCheckUtils]: 53: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,512 INFO L290 TraceCheckUtils]: 54: Hoare triple {43244#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43314#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,512 INFO L290 TraceCheckUtils]: 55: Hoare triple {43314#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {43314#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,512 INFO L290 TraceCheckUtils]: 56: Hoare triple {43314#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {43321#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,513 INFO L290 TraceCheckUtils]: 57: Hoare triple {43321#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~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; {43325#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,514 INFO L290 TraceCheckUtils]: 58: Hoare triple {43325#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1))} assume !false; {43325#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,514 INFO L290 TraceCheckUtils]: 59: Hoare triple {43325#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {43332#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,515 INFO L290 TraceCheckUtils]: 60: Hoare triple {43332#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~q~0 1))} assume !false; {43332#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,515 INFO L290 TraceCheckUtils]: 61: Hoare triple {43332#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,516 INFO L290 TraceCheckUtils]: 62: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,516 INFO L272 TraceCheckUtils]: 63: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,516 INFO L290 TraceCheckUtils]: 64: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,516 INFO L290 TraceCheckUtils]: 65: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,516 INFO L290 TraceCheckUtils]: 66: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,517 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {43144#true} {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,517 INFO L272 TraceCheckUtils]: 68: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,517 INFO L290 TraceCheckUtils]: 69: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,517 INFO L290 TraceCheckUtils]: 70: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,517 INFO L290 TraceCheckUtils]: 71: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,517 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {43144#true} {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,518 INFO L272 TraceCheckUtils]: 73: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,518 INFO L290 TraceCheckUtils]: 74: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,518 INFO L290 TraceCheckUtils]: 75: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,518 INFO L290 TraceCheckUtils]: 76: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,518 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {43144#true} {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,518 INFO L272 TraceCheckUtils]: 78: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,518 INFO L290 TraceCheckUtils]: 79: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,519 INFO L290 TraceCheckUtils]: 80: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,519 INFO L290 TraceCheckUtils]: 81: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,519 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {43144#true} {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,520 INFO L290 TraceCheckUtils]: 83: Hoare triple {43339#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~q~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,520 INFO L290 TraceCheckUtils]: 84: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} assume !false; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,520 INFO L272 TraceCheckUtils]: 85: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,520 INFO L290 TraceCheckUtils]: 86: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,520 INFO L290 TraceCheckUtils]: 87: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,520 INFO L290 TraceCheckUtils]: 88: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,521 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {43144#true} {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} #102#return; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,521 INFO L272 TraceCheckUtils]: 90: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,521 INFO L290 TraceCheckUtils]: 91: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,521 INFO L290 TraceCheckUtils]: 92: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,521 INFO L290 TraceCheckUtils]: 93: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,522 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {43144#true} {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} #104#return; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,522 INFO L272 TraceCheckUtils]: 95: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,522 INFO L290 TraceCheckUtils]: 96: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,522 INFO L290 TraceCheckUtils]: 97: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,522 INFO L290 TraceCheckUtils]: 98: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,523 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43144#true} {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} #106#return; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,523 INFO L272 TraceCheckUtils]: 100: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,523 INFO L290 TraceCheckUtils]: 101: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,523 INFO L290 TraceCheckUtils]: 102: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,523 INFO L290 TraceCheckUtils]: 103: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,524 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {43144#true} {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} #108#return; {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,524 INFO L290 TraceCheckUtils]: 105: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,525 INFO L290 TraceCheckUtils]: 106: Hoare triple {43406#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= main_~d~0 2) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43476#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,526 INFO L290 TraceCheckUtils]: 107: Hoare triple {43476#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {43476#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,526 INFO L290 TraceCheckUtils]: 108: Hoare triple {43476#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,527 INFO L290 TraceCheckUtils]: 109: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} assume !false; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,527 INFO L272 TraceCheckUtils]: 110: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,527 INFO L290 TraceCheckUtils]: 111: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,527 INFO L290 TraceCheckUtils]: 112: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,527 INFO L290 TraceCheckUtils]: 113: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,528 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {43144#true} {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} #102#return; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,528 INFO L272 TraceCheckUtils]: 115: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,528 INFO L290 TraceCheckUtils]: 116: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,528 INFO L290 TraceCheckUtils]: 117: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,528 INFO L290 TraceCheckUtils]: 118: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,528 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {43144#true} {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} #104#return; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,529 INFO L272 TraceCheckUtils]: 120: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,529 INFO L290 TraceCheckUtils]: 121: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,529 INFO L290 TraceCheckUtils]: 122: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,529 INFO L290 TraceCheckUtils]: 123: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,529 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {43144#true} {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} #106#return; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,529 INFO L272 TraceCheckUtils]: 125: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:36,530 INFO L290 TraceCheckUtils]: 126: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:36,530 INFO L290 TraceCheckUtils]: 127: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:36,530 INFO L290 TraceCheckUtils]: 128: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:36,530 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {43144#true} {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} #108#return; {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,531 INFO L290 TraceCheckUtils]: 130: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,532 INFO L290 TraceCheckUtils]: 131: Hoare triple {43483#(and (= main_~b~0 main_~v~0) (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= (+ (* (- 2) main_~b~0) main_~y~0) main_~c~0) (= main_~r~0 1) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43553#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,532 INFO L290 TraceCheckUtils]: 132: Hoare triple {43553#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} assume !false; {43553#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,532 INFO L290 TraceCheckUtils]: 133: Hoare triple {43553#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} assume !(~c~0 >= ~b~0); {43560#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:36,534 INFO L290 TraceCheckUtils]: 134: Hoare triple {43560#(and (= (+ main_~s~0 main_~r~0) 0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~p~0 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~r~0 1) (not (<= main_~b~0 main_~c~0)) (= (+ (* main_~b~0 (- 3)) main_~y~0) main_~c~0) (= (+ (- 2) main_~k~0) 1) (= main_~q~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {43564#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~s~0 (* main_~r~0 (- 4))) (= (* (- 1) main_~r~0) 1) (= (+ main_~q~0 (* main_~p~0 3)) 0) (not (<= (* main_~a~0 4) main_~y~0)) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,534 INFO L290 TraceCheckUtils]: 135: Hoare triple {43564#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~s~0 (* main_~r~0 (- 4))) (= (* (- 1) main_~r~0) 1) (= (+ main_~q~0 (* main_~p~0 3)) 0) (not (<= (* main_~a~0 4) main_~y~0)) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~p~0 1))} assume !false; {43564#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~s~0 (* main_~r~0 (- 4))) (= (* (- 1) main_~r~0) 1) (= (+ main_~q~0 (* main_~p~0 3)) 0) (not (<= (* main_~a~0 4) main_~y~0)) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,535 INFO L290 TraceCheckUtils]: 136: Hoare triple {43564#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (not (<= (* main_~y~0 2) main_~x~0)) (= main_~s~0 (* main_~r~0 (- 4))) (= (* (- 1) main_~r~0) 1) (= (+ main_~q~0 (* main_~p~0 3)) 0) (not (<= (* main_~a~0 4) main_~y~0)) (= main_~b~0 (+ (* main_~a~0 (- 3)) main_~y~0)) (= main_~p~0 1))} assume !(0 != ~b~0); {43571#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< main_~y~0 (* main_~a~0 4)) (= (* main_~a~0 3) main_~y~0) (= (+ main_~s~0 (* main_~r~0 4)) 0) (= (+ main_~q~0 (* main_~p~0 3)) 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:36,536 INFO L272 TraceCheckUtils]: 137: Hoare triple {43571#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< main_~y~0 (* main_~a~0 4)) (= (* main_~a~0 3) main_~y~0) (= (+ main_~s~0 (* main_~r~0 4)) 0) (= (+ main_~q~0 (* main_~p~0 3)) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {43575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:36,536 INFO L290 TraceCheckUtils]: 138: Hoare triple {43575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {43579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:36,536 INFO L290 TraceCheckUtils]: 139: Hoare triple {43579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43145#false} is VALID [2022-04-27 13:22:36,536 INFO L290 TraceCheckUtils]: 140: Hoare triple {43145#false} assume !false; {43145#false} is VALID [2022-04-27 13:22:36,537 INFO L134 CoverageAnalysis]: Checked inductivity of 602 backedges. 32 proven. 66 refuted. 0 times theorem prover too weak. 504 trivial. 0 not checked. [2022-04-27 13:22:36,537 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:41,045 INFO L290 TraceCheckUtils]: 140: Hoare triple {43145#false} assume !false; {43145#false} is VALID [2022-04-27 13:22:41,046 INFO L290 TraceCheckUtils]: 139: Hoare triple {43579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {43145#false} is VALID [2022-04-27 13:22:41,046 INFO L290 TraceCheckUtils]: 138: Hoare triple {43575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {43579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:41,047 INFO L272 TraceCheckUtils]: 137: Hoare triple {43595#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {43575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:41,047 INFO L290 TraceCheckUtils]: 136: Hoare triple {43599#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {43595#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 13:22:41,048 INFO L290 TraceCheckUtils]: 135: Hoare triple {43599#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {43599#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:22:41,229 INFO L290 TraceCheckUtils]: 134: Hoare triple {43606#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {43599#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-27 13:22:41,230 INFO L290 TraceCheckUtils]: 133: Hoare triple {43610#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {43606#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:41,230 INFO L290 TraceCheckUtils]: 132: Hoare triple {43610#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {43610#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,107 INFO L290 TraceCheckUtils]: 131: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43610#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,107 INFO L290 TraceCheckUtils]: 130: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,108 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {43144#true} {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,108 INFO L290 TraceCheckUtils]: 128: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,108 INFO L290 TraceCheckUtils]: 127: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,108 INFO L290 TraceCheckUtils]: 126: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,108 INFO L272 TraceCheckUtils]: 125: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,109 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {43144#true} {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,109 INFO L290 TraceCheckUtils]: 123: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,109 INFO L290 TraceCheckUtils]: 122: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,109 INFO L290 TraceCheckUtils]: 121: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,109 INFO L272 TraceCheckUtils]: 120: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,110 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {43144#true} {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,110 INFO L290 TraceCheckUtils]: 118: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,110 INFO L290 TraceCheckUtils]: 117: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,110 INFO L290 TraceCheckUtils]: 116: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,110 INFO L272 TraceCheckUtils]: 115: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,111 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {43144#true} {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,111 INFO L290 TraceCheckUtils]: 113: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,111 INFO L290 TraceCheckUtils]: 112: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,111 INFO L290 TraceCheckUtils]: 111: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,111 INFO L272 TraceCheckUtils]: 110: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,111 INFO L290 TraceCheckUtils]: 109: Hoare triple {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,112 INFO L290 TraceCheckUtils]: 108: Hoare triple {43687#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43617#(or (<= (+ main_~b~0 main_~v~0) main_~c~0) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-27 13:22:42,112 INFO L290 TraceCheckUtils]: 107: Hoare triple {43687#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} assume !false; {43687#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:22:42,427 INFO L290 TraceCheckUtils]: 106: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43687#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) 0)))} is VALID [2022-04-27 13:22:42,428 INFO L290 TraceCheckUtils]: 105: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} assume !(~c~0 >= 2 * ~v~0); {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,428 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {43144#true} {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #108#return; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,428 INFO L290 TraceCheckUtils]: 103: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,428 INFO L290 TraceCheckUtils]: 102: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,429 INFO L290 TraceCheckUtils]: 101: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,429 INFO L272 TraceCheckUtils]: 100: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,429 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {43144#true} {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #106#return; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,429 INFO L290 TraceCheckUtils]: 98: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,429 INFO L290 TraceCheckUtils]: 97: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,429 INFO L290 TraceCheckUtils]: 96: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,430 INFO L272 TraceCheckUtils]: 95: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,430 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {43144#true} {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #104#return; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,430 INFO L290 TraceCheckUtils]: 93: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,430 INFO L290 TraceCheckUtils]: 92: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,430 INFO L290 TraceCheckUtils]: 91: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,430 INFO L272 TraceCheckUtils]: 90: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,431 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {43144#true} {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #102#return; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,431 INFO L290 TraceCheckUtils]: 88: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,431 INFO L290 TraceCheckUtils]: 87: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,431 INFO L290 TraceCheckUtils]: 86: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,431 INFO L272 TraceCheckUtils]: 85: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,432 INFO L290 TraceCheckUtils]: 84: Hoare triple {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} assume !false; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,659 INFO L290 TraceCheckUtils]: 83: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {43694#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) 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:22:42,660 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {43144#true} {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #108#return; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,660 INFO L290 TraceCheckUtils]: 81: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,660 INFO L290 TraceCheckUtils]: 80: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,660 INFO L290 TraceCheckUtils]: 79: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,660 INFO L272 TraceCheckUtils]: 78: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,661 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {43144#true} {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #106#return; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,661 INFO L290 TraceCheckUtils]: 76: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,661 INFO L290 TraceCheckUtils]: 75: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,661 INFO L290 TraceCheckUtils]: 74: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,661 INFO L272 TraceCheckUtils]: 73: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,662 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {43144#true} {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #104#return; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,662 INFO L290 TraceCheckUtils]: 71: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,662 INFO L290 TraceCheckUtils]: 70: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,662 INFO L290 TraceCheckUtils]: 69: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,662 INFO L272 TraceCheckUtils]: 68: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,663 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {43144#true} {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} #102#return; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,663 INFO L290 TraceCheckUtils]: 66: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:42,663 INFO L290 TraceCheckUtils]: 65: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:42,663 INFO L290 TraceCheckUtils]: 64: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:42,663 INFO L272 TraceCheckUtils]: 63: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:42,664 INFO L290 TraceCheckUtils]: 62: Hoare triple {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0))} assume !false; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,664 INFO L290 TraceCheckUtils]: 61: Hoare triple {43831#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (* main_~b~0 2))) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43764#(or (not (= (* main_~v~0 2) (+ main_~c~0 (* (- 1) main_~b~0)))) (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) 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:22:42,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {43831#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (* main_~b~0 2))) (<= main_~b~0 0))} assume !false; {43831#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-27 13:22:42,665 INFO L290 TraceCheckUtils]: 59: Hoare triple {43838#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {43831#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~b~0)) (* main_~b~0 2))) (<= main_~b~0 0))} is VALID [2022-04-27 13:22:42,666 INFO L290 TraceCheckUtils]: 58: Hoare triple {43838#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2))))} assume !false; {43838#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2))))} is VALID [2022-04-27 13:22:43,596 INFO L290 TraceCheckUtils]: 57: Hoare triple {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {43838#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~b~0 0) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2))))} is VALID [2022-04-27 13:22:43,597 INFO L290 TraceCheckUtils]: 56: Hoare triple {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} assume !(~c~0 >= ~b~0); {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} is VALID [2022-04-27 13:22:43,598 INFO L290 TraceCheckUtils]: 55: Hoare triple {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} assume !false; {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} is VALID [2022-04-27 13:22:44,337 INFO L290 TraceCheckUtils]: 54: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {43845#(or (not (= (* main_~c~0 3) main_~b~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)) (+ (* (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) main_~q~0 main_~k~0))) main_~x~0) main_~c~0 (* main_~y~0 (+ (* (* main_~k~0 main_~s~0) 3) main_~s~0 (* main_~r~0 (- 3)))))) (<= main_~c~0 0))} is VALID [2022-04-27 13:22:44,337 INFO L290 TraceCheckUtils]: 53: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} assume !(~c~0 >= 2 * ~v~0); {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,338 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {43144#true} {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} #108#return; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,338 INFO L290 TraceCheckUtils]: 51: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,338 INFO L290 TraceCheckUtils]: 50: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,338 INFO L290 TraceCheckUtils]: 49: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,338 INFO L272 TraceCheckUtils]: 48: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,339 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {43144#true} {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} #106#return; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,339 INFO L290 TraceCheckUtils]: 46: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,339 INFO L290 TraceCheckUtils]: 45: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,339 INFO L272 TraceCheckUtils]: 43: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,340 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {43144#true} {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} #104#return; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,340 INFO L290 TraceCheckUtils]: 41: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,340 INFO L290 TraceCheckUtils]: 40: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,340 INFO L290 TraceCheckUtils]: 39: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,340 INFO L272 TraceCheckUtils]: 38: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,341 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {43144#true} {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} #102#return; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,341 INFO L290 TraceCheckUtils]: 34: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,341 INFO L272 TraceCheckUtils]: 33: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,342 INFO L290 TraceCheckUtils]: 32: Hoare triple {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} assume !false; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,343 INFO L290 TraceCheckUtils]: 31: Hoare triple {43925#(or (not (= (+ (* main_~b~0 (- 3)) (* main_~c~0 3)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~s~0 (* main_~r~0 (- 3)) (* (* (+ main_~k~0 1) main_~s~0) 3))) (* main_~x~0 (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) (+ main_~k~0 1) main_~q~0)))))) (<= main_~c~0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {43855#(or (<= main_~c~0 main_~v~0) (= (+ (* main_~x~0 (+ (* (- 3) (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~q~0 (* main_~p~0 (- 3)))) main_~c~0 (* (- 1) main_~v~0) (* (+ main_~s~0 (* (* main_~s~0 (+ main_~d~0 main_~k~0)) 3) (* main_~r~0 (- 3))) main_~y~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= (+ (* main_~c~0 3) (* main_~v~0 (- 3))) main_~b~0)))} is VALID [2022-04-27 13:22:44,343 INFO L290 TraceCheckUtils]: 30: Hoare triple {43925#(or (not (= (+ (* main_~b~0 (- 3)) (* main_~c~0 3)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~s~0 (* main_~r~0 (- 3)) (* (* (+ main_~k~0 1) main_~s~0) 3))) (* main_~x~0 (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) (+ main_~k~0 1) main_~q~0)))))) (<= main_~c~0 main_~b~0))} assume !false; {43925#(or (not (= (+ (* main_~b~0 (- 3)) (* main_~c~0 3)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~s~0 (* main_~r~0 (- 3)) (* (* (+ main_~k~0 1) main_~s~0) 3))) (* main_~x~0 (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) (+ main_~k~0 1) main_~q~0)))))) (<= main_~c~0 main_~b~0))} is VALID [2022-04-27 13:22:44,344 INFO L290 TraceCheckUtils]: 29: Hoare triple {43932#(or (<= main_~a~0 main_~b~0) (not (= main_~b~0 (+ (* main_~b~0 (- 3)) (* main_~a~0 3)))) (= (+ (* (+ (* main_~s~0 4) (* main_~r~0 (- 3))) main_~y~0) (* main_~x~0 (+ (* main_~q~0 4) (* main_~p~0 (- 3)))) main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {43925#(or (not (= (+ (* main_~b~0 (- 3)) (* main_~c~0 3)) main_~b~0)) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~s~0 (* main_~r~0 (- 3)) (* (* (+ main_~k~0 1) main_~s~0) 3))) (* main_~x~0 (+ main_~q~0 (* main_~p~0 (- 3)) (* (- 3) (* (- 1) (+ main_~k~0 1) main_~q~0)))))) (<= main_~c~0 main_~b~0))} is VALID [2022-04-27 13:22:44,344 INFO L290 TraceCheckUtils]: 28: Hoare triple {43932#(or (<= main_~a~0 main_~b~0) (not (= main_~b~0 (+ (* main_~b~0 (- 3)) (* main_~a~0 3)))) (= (+ (* (+ (* main_~s~0 4) (* main_~r~0 (- 3))) main_~y~0) (* main_~x~0 (+ (* main_~q~0 4) (* main_~p~0 (- 3)))) main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} assume !false; {43932#(or (<= main_~a~0 main_~b~0) (not (= main_~b~0 (+ (* main_~b~0 (- 3)) (* main_~a~0 3)))) (= (+ (* (+ (* main_~s~0 4) (* main_~r~0 (- 3))) main_~y~0) (* main_~x~0 (+ (* main_~q~0 4) (* main_~p~0 (- 3)))) main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 27: Hoare triple {43144#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {43932#(or (<= main_~a~0 main_~b~0) (not (= main_~b~0 (+ (* main_~b~0 (- 3)) (* main_~a~0 3)))) (= (+ (* (+ (* main_~s~0 4) (* main_~r~0 (- 3))) main_~y~0) (* main_~x~0 (+ (* main_~q~0 4) (* main_~p~0 (- 3)))) main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))))} is VALID [2022-04-27 13:22:44,345 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {43144#true} {43144#true} #100#return; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 25: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 24: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 23: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L272 TraceCheckUtils]: 22: Hoare triple {43144#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43144#true} {43144#true} #98#return; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L272 TraceCheckUtils]: 17: Hoare triple {43144#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {43144#true} {43144#true} #96#return; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 15: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 14: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,345 INFO L290 TraceCheckUtils]: 13: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L272 TraceCheckUtils]: 12: Hoare triple {43144#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 11: Hoare triple {43144#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43144#true} {43144#true} #94#return; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 9: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 8: Hoare triple {43144#true} assume !(0 == ~cond); {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 7: Hoare triple {43144#true} ~cond := #in~cond; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L272 TraceCheckUtils]: 6: Hoare triple {43144#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 5: Hoare triple {43144#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L272 TraceCheckUtils]: 4: Hoare triple {43144#true} call #t~ret6 := main(); {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43144#true} {43144#true} #112#return; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 2: Hoare triple {43144#true} assume true; {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L290 TraceCheckUtils]: 1: Hoare triple {43144#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); {43144#true} is VALID [2022-04-27 13:22:44,346 INFO L272 TraceCheckUtils]: 0: Hoare triple {43144#true} call ULTIMATE.init(); {43144#true} is VALID [2022-04-27 13:22:44,347 INFO L134 CoverageAnalysis]: Checked inductivity of 602 backedges. 32 proven. 66 refuted. 0 times theorem prover too weak. 504 trivial. 0 not checked. [2022-04-27 13:22:44,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:44,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [131752507] [2022-04-27 13:22:44,347 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:44,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [48165141] [2022-04-27 13:22:44,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [48165141] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:44,347 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:44,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 18] total 33 [2022-04-27 13:22:44,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [96393350] [2022-04-27 13:22:44,347 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:44,348 INFO L78 Accepts]: Start accepts. Automaton has has 33 states, 31 states have (on average 2.3548387096774195) internal successors, (73), 32 states have internal predecessors, (73), 11 states have call successors, (40), 2 states have call predecessors, (40), 1 states have return successors, (37), 9 states have call predecessors, (37), 9 states have call successors, (37) Word has length 141 [2022-04-27 13:22:44,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:44,348 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 33 states, 31 states have (on average 2.3548387096774195) internal successors, (73), 32 states have internal predecessors, (73), 11 states have call successors, (40), 2 states have call predecessors, (40), 1 states have return successors, (37), 9 states have call predecessors, (37), 9 states have call successors, (37) [2022-04-27 13:22:46,948 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 150 edges. 150 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:46,948 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 33 states [2022-04-27 13:22:46,948 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:46,948 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 33 interpolants. [2022-04-27 13:22:46,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=165, Invalid=891, Unknown=0, NotChecked=0, Total=1056 [2022-04-27 13:22:46,949 INFO L87 Difference]: Start difference. First operand 817 states and 1249 transitions. Second operand has 33 states, 31 states have (on average 2.3548387096774195) internal successors, (73), 32 states have internal predecessors, (73), 11 states have call successors, (40), 2 states have call predecessors, (40), 1 states have return successors, (37), 9 states have call predecessors, (37), 9 states have call successors, (37) [2022-04-27 13:23:04,796 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.14s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:23:29,454 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:23:35,201 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:23:55,840 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:24:08,705 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.02s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:24:29,548 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers []