/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/egcd-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 12:49:07,625 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 12:49:07,635 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 12:49:07,682 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 12:49:07,683 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 12:49:07,683 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 12:49:07,684 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 12:49:07,686 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 12:49:07,687 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 12:49:07,687 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 12:49:07,688 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 12:49:07,689 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 12:49:07,689 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 12:49:07,690 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 12:49:07,690 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 12:49:07,691 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 12:49:07,692 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 12:49:07,692 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 12:49:07,694 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 12:49:07,700 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 12:49:07,706 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 12:49:07,710 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 12:49:07,712 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 12:49:07,712 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 12:49:07,713 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 12:49:07,714 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 12:49:07,715 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 12:49:07,715 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 12:49:07,715 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 12:49:07,716 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 12:49:07,716 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 12:49:07,716 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 12:49:07,717 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 12:49:07,717 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 12:49:07,718 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 12:49:07,718 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 12:49:07,718 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 12:49:07,719 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 12:49:07,719 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 12:49:07,719 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 12:49:07,720 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 12:49:07,727 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 12:49:07,727 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 12:49:07,751 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 12:49:07,756 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 12:49:07,756 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 12:49:07,756 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 12:49:07,757 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 12:49:07,757 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 12:49:07,757 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 12:49:07,758 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 12:49:07,758 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 12:49:07,759 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 12:49:07,759 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 12:49:07,760 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 12:49:07,760 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:49:07,761 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 12:49:07,761 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 12:49:07,761 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 12:49:07,997 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 12:49:08,012 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 12:49:08,014 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 12:49:08,015 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 12:49:08,019 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 12:49:08,020 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound20.c [2022-04-27 12:49:08,084 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66d217fe2/99fa65813c164583abc154a1db34d9d1/FLAG5a4ad45d7 [2022-04-27 12:49:08,392 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 12:49:08,393 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound20.c [2022-04-27 12:49:08,417 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66d217fe2/99fa65813c164583abc154a1db34d9d1/FLAG5a4ad45d7 [2022-04-27 12:49:08,825 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/66d217fe2/99fa65813c164583abc154a1db34d9d1 [2022-04-27 12:49:08,827 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 12:49:08,828 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 12:49:08,829 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 12:49:08,829 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 12:49:08,831 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 12:49:08,832 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:49:08" (1/1) ... [2022-04-27 12:49:08,833 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7933e999 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:08, skipping insertion in model container [2022-04-27 12:49:08,833 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:49:08" (1/1) ... [2022-04-27 12:49:08,852 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 12:49:08,865 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 12:49:08,993 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/egcd-ll_unwindbound20.c[489,502] [2022-04-27 12:49:09,018 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:49:09,024 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 12:49:09,032 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/egcd-ll_unwindbound20.c[489,502] [2022-04-27 12:49:09,039 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:49:09,047 INFO L208 MainTranslator]: Completed translation [2022-04-27 12:49:09,048 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09 WrapperNode [2022-04-27 12:49:09,048 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 12:49:09,049 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 12:49:09,049 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 12:49:09,049 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 12:49:09,058 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,058 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,063 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,063 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,067 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,070 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,071 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,072 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 12:49:09,073 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 12:49:09,073 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 12:49:09,073 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 12:49:09,074 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (1/1) ... [2022-04-27 12:49:09,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:49:09,092 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:09,103 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 12:49:09,115 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 12:49:09,128 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 12:49:09,128 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 12:49:09,129 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 12:49:09,129 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 12:49:09,129 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 12:49:09,129 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 12:49:09,129 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 12:49:09,130 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 12:49:09,130 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 12:49:09,130 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 12:49:09,130 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 12:49:09,172 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 12:49:09,173 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 12:49:09,290 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 12:49:09,295 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 12:49:09,295 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 12:49:09,297 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:49:09 BoogieIcfgContainer [2022-04-27 12:49:09,297 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 12:49:09,298 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 12:49:09,298 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 12:49:09,300 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 12:49:09,300 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 12:49:08" (1/3) ... [2022-04-27 12:49:09,301 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c791074 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:49:09, skipping insertion in model container [2022-04-27 12:49:09,301 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:09" (2/3) ... [2022-04-27 12:49:09,301 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c791074 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:49:09, skipping insertion in model container [2022-04-27 12:49:09,301 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:49:09" (3/3) ... [2022-04-27 12:49:09,302 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound20.c [2022-04-27 12:49:09,312 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 12:49:09,312 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 12:49:09,343 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 12:49:09,348 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@829fee2, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2979878e [2022-04-27 12:49:09,348 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 12:49:09,354 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 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 12:49:09,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 12:49:09,359 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:09,359 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:09,360 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:09,363 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:09,363 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-27 12:49:09,373 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:09,373 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1376563214] [2022-04-27 12:49:09,373 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:09,374 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:09,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,515 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:49:09,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-27 12:49:09,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 12:49:09,533 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-27 12:49:09,534 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:49:09,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,540 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:09,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:09,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:09,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-27 12:49:09,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 12:49:09,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:09,550 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:09,550 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:09,550 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-27 12:49:09,551 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 12:49:09,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-27 12:49:09,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 12:49:09,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-27 12:49:09,552 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-27 12:49:09,552 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-27 12:49:09,552 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-27 12:49:09,552 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:09,553 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:09,553 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:09,553 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-27 12:49:09,553 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-27 12:49:09,554 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:09,554 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:09,554 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:09,554 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-27 12:49:09,554 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-27 12:49:09,555 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-27 12:49:09,555 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-27 12:49:09,555 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 12:49:09,555 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 12:49:09,555 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 12:49:09,556 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 12:49:09,556 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:09,556 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1376563214] [2022-04-27 12:49:09,557 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1376563214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:09,557 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:09,557 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 12:49:09,558 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1424543749] [2022-04-27 12:49:09,559 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:09,563 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 12:49:09,564 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:09,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:09,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:09,587 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 12:49:09,587 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:09,601 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 12:49:09,602 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:49:09,604 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 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 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:09,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:09,744 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-27 12:49:09,744 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 12:49:09,744 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 12:49:09,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:09,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:09,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-27 12:49:09,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:09,756 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-27 12:49:09,756 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-27 12:49:09,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:09,851 INFO L225 Difference]: With dead ends: 64 [2022-04-27 12:49:09,851 INFO L226 Difference]: Without dead ends: 31 [2022-04-27 12:49:09,854 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:49:09,856 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:09,857 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:49:09,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-27 12:49:09,879 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-27 12:49:09,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:09,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 12:49:09,881 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 12:49:09,881 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 12:49:09,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:09,884 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-27 12:49:09,885 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-27 12:49:09,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:09,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:09,886 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 31 states. [2022-04-27 12:49:09,886 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 31 states. [2022-04-27 12:49:09,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:09,889 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-27 12:49:09,889 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-27 12:49:09,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:09,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:09,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:09,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:09,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 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 12:49:09,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-27 12:49:09,893 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-27 12:49:09,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:09,894 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-27 12:49:09,894 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:09,894 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-27 12:49:09,895 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:49:09,917 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:09,918 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:09,918 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 12:49:09,918 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:09,919 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:09,919 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-27 12:49:09,919 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:09,920 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1071119721] [2022-04-27 12:49:09,920 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:09,920 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:09,945 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:49:09,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:09,998 INFO L290 TraceCheckUtils]: 0: Hoare triple {269#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:09,998 INFO L290 TraceCheckUtils]: 1: Hoare triple {259#(= ~counter~0 0)} assume true; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:09,999 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {259#(= ~counter~0 0)} {254#true} #82#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:09,999 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:49:10,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:10,006 INFO L290 TraceCheckUtils]: 0: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:10,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:10,007 INFO L290 TraceCheckUtils]: 2: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:10,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {254#true} {259#(= ~counter~0 0)} #64#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,008 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 12:49:10,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:10,014 INFO L290 TraceCheckUtils]: 0: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:10,014 INFO L290 TraceCheckUtils]: 1: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:10,014 INFO L290 TraceCheckUtils]: 2: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:10,015 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {254#true} {259#(= ~counter~0 0)} #66#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,015 INFO L272 TraceCheckUtils]: 0: Hoare triple {254#true} call ULTIMATE.init(); {269#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 12:49:10,016 INFO L290 TraceCheckUtils]: 1: Hoare triple {269#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {259#(= ~counter~0 0)} assume true; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,017 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {259#(= ~counter~0 0)} {254#true} #82#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,017 INFO L272 TraceCheckUtils]: 4: Hoare triple {259#(= ~counter~0 0)} call #t~ret7 := main(); {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,018 INFO L290 TraceCheckUtils]: 5: Hoare triple {259#(= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,018 INFO L272 TraceCheckUtils]: 6: Hoare triple {259#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {254#true} is VALID [2022-04-27 12:49:10,018 INFO L290 TraceCheckUtils]: 7: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:10,018 INFO L290 TraceCheckUtils]: 8: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:10,018 INFO L290 TraceCheckUtils]: 9: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:10,019 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {254#true} {259#(= ~counter~0 0)} #64#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,019 INFO L272 TraceCheckUtils]: 11: Hoare triple {259#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {254#true} is VALID [2022-04-27 12:49:10,019 INFO L290 TraceCheckUtils]: 12: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:10,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:10,019 INFO L290 TraceCheckUtils]: 14: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:10,020 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {254#true} {259#(= ~counter~0 0)} #66#return; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,020 INFO L290 TraceCheckUtils]: 16: Hoare triple {259#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:10,021 INFO L290 TraceCheckUtils]: 17: Hoare triple {259#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {268#(= |main_#t~post6| 0)} is VALID [2022-04-27 12:49:10,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {268#(= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {255#false} is VALID [2022-04-27 12:49:10,022 INFO L272 TraceCheckUtils]: 19: Hoare triple {255#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {255#false} is VALID [2022-04-27 12:49:10,022 INFO L290 TraceCheckUtils]: 20: Hoare triple {255#false} ~cond := #in~cond; {255#false} is VALID [2022-04-27 12:49:10,022 INFO L290 TraceCheckUtils]: 21: Hoare triple {255#false} assume 0 == ~cond; {255#false} is VALID [2022-04-27 12:49:10,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {255#false} assume !false; {255#false} is VALID [2022-04-27 12:49:10,022 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 12:49:10,023 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:10,023 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1071119721] [2022-04-27 12:49:10,023 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1071119721] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:10,023 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:10,023 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:10,023 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1574097529] [2022-04-27 12:49:10,023 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:10,025 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 12:49:10,025 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:10,025 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:10,040 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:10,040 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:10,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:10,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:10,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:10,042 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:10,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:10,227 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-27 12:49:10,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 12:49:10,227 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-27 12:49:10,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:10,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:10,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-27 12:49:10,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:10,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-27 12:49:10,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-27 12:49:10,278 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:10,279 INFO L225 Difference]: With dead ends: 42 [2022-04-27 12:49:10,280 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 12:49:10,280 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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 12:49:10,281 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:10,281 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:49:10,282 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 12:49:10,285 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 12:49:10,285 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:10,286 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 12:49:10,286 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 12:49:10,286 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 12:49:10,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:10,288 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 12:49:10,289 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:10,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:10,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:10,290 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 32 states. [2022-04-27 12:49:10,290 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 32 states. [2022-04-27 12:49:10,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:10,292 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 12:49:10,292 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:10,293 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:10,293 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:10,293 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:10,293 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:10,293 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 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 12:49:10,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 12:49:10,295 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-27 12:49:10,295 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:10,295 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 12:49:10,296 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 12:49:10,296 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:10,296 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:49:10,296 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:10,296 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:10,297 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 12:49:10,297 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:10,297 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:10,297 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-27 12:49:10,298 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:10,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1229505766] [2022-04-27 12:49:10,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:10,298 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:10,312 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:10,312 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [736954339] [2022-04-27 12:49:10,313 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:10,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:10,313 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:10,314 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 12:49:10,315 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 12:49:10,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:10,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:49:10,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:10,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:11,218 INFO L272 TraceCheckUtils]: 0: Hoare triple {452#true} call ULTIMATE.init(); {452#true} is VALID [2022-04-27 12:49:11,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {452#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {452#true} is VALID [2022-04-27 12:49:11,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:11,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {452#true} {452#true} #82#return; {452#true} is VALID [2022-04-27 12:49:11,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {452#true} call #t~ret7 := main(); {452#true} is VALID [2022-04-27 12:49:11,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {452#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {452#true} is VALID [2022-04-27 12:49:11,219 INFO L272 TraceCheckUtils]: 6: Hoare triple {452#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {452#true} is VALID [2022-04-27 12:49:11,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {452#true} ~cond := #in~cond; {452#true} is VALID [2022-04-27 12:49:11,220 INFO L290 TraceCheckUtils]: 8: Hoare triple {452#true} assume !(0 == ~cond); {452#true} is VALID [2022-04-27 12:49:11,220 INFO L290 TraceCheckUtils]: 9: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:11,220 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {452#true} {452#true} #64#return; {452#true} is VALID [2022-04-27 12:49:11,220 INFO L272 TraceCheckUtils]: 11: Hoare triple {452#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {452#true} is VALID [2022-04-27 12:49:11,220 INFO L290 TraceCheckUtils]: 12: Hoare triple {452#true} ~cond := #in~cond; {452#true} is VALID [2022-04-27 12:49:11,220 INFO L290 TraceCheckUtils]: 13: Hoare triple {452#true} assume !(0 == ~cond); {452#true} is VALID [2022-04-27 12:49:11,221 INFO L290 TraceCheckUtils]: 14: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:11,221 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {452#true} {452#true} #66#return; {452#true} is VALID [2022-04-27 12:49:11,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {452#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:49:11,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:49:11,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:49:11,223 INFO L272 TraceCheckUtils]: 19: Hoare triple {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {515#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:11,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {515#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {519#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:11,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {453#false} is VALID [2022-04-27 12:49:11,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {453#false} assume !false; {453#false} is VALID [2022-04-27 12:49:11,225 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 12:49:11,225 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:49:11,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:11,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1229505766] [2022-04-27 12:49:11,225 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:11,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [736954339] [2022-04-27 12:49:11,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [736954339] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:11,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:11,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:11,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1862577295] [2022-04-27 12:49:11,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:11,227 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 12:49:11,227 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:11,227 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 12:49:11,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:11,241 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:11,241 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:11,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:11,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:11,242 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 12:49:11,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:11,406 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-27 12:49:11,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:49:11,407 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-27 12:49:11,407 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:11,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 12:49:11,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:11,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 12:49:11,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:11,410 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-27 12:49:11,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:11,460 INFO L225 Difference]: With dead ends: 49 [2022-04-27 12:49:11,460 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 12:49:11,460 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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 12:49:11,461 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 134 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:11,461 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 134 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:49:11,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 12:49:11,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-27 12:49:11,482 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:11,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:11,482 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:11,483 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:11,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:11,485 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-27 12:49:11,485 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-27 12:49:11,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:11,486 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:11,486 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-27 12:49:11,486 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-27 12:49:11,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:11,489 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-27 12:49:11,489 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-27 12:49:11,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:11,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:11,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:11,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:11,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:11,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-27 12:49:11,492 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-27 12:49:11,492 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:11,492 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-27 12:49:11,492 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-27 12:49:11,493 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-27 12:49:11,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 12:49:11,493 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:11,493 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:11,521 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 12:49:11,711 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:11,711 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:11,711 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:11,712 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-27 12:49:11,712 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:11,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [960205201] [2022-04-27 12:49:11,712 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:11,712 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:11,724 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:11,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1845855424] [2022-04-27 12:49:11,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:11,724 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:11,725 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:11,725 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 12:49:11,727 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 12:49:11,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:11,762 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 12:49:11,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:11,771 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:13,548 INFO L272 TraceCheckUtils]: 0: Hoare triple {767#true} call ULTIMATE.init(); {767#true} is VALID [2022-04-27 12:49:13,549 INFO L290 TraceCheckUtils]: 1: Hoare triple {767#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {767#true} is VALID [2022-04-27 12:49:13,549 INFO L290 TraceCheckUtils]: 2: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:13,549 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {767#true} {767#true} #82#return; {767#true} is VALID [2022-04-27 12:49:13,549 INFO L272 TraceCheckUtils]: 4: Hoare triple {767#true} call #t~ret7 := main(); {767#true} is VALID [2022-04-27 12:49:13,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {767#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {767#true} is VALID [2022-04-27 12:49:13,549 INFO L272 TraceCheckUtils]: 6: Hoare triple {767#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {767#true} is VALID [2022-04-27 12:49:13,550 INFO L290 TraceCheckUtils]: 7: Hoare triple {767#true} ~cond := #in~cond; {793#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:49:13,555 INFO L290 TraceCheckUtils]: 8: Hoare triple {793#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {797#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:49:13,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {797#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {797#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:49:13,563 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {797#(not (= |assume_abort_if_not_#in~cond| 0))} {767#true} #64#return; {804#(<= 1 main_~x~0)} is VALID [2022-04-27 12:49:13,565 INFO L272 TraceCheckUtils]: 11: Hoare triple {804#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {767#true} is VALID [2022-04-27 12:49:13,565 INFO L290 TraceCheckUtils]: 12: Hoare triple {767#true} ~cond := #in~cond; {767#true} is VALID [2022-04-27 12:49:13,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {767#true} assume !(0 == ~cond); {767#true} is VALID [2022-04-27 12:49:13,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:13,566 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {767#true} {804#(<= 1 main_~x~0)} #66#return; {804#(<= 1 main_~x~0)} is VALID [2022-04-27 12:49:13,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {804#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:13,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:13,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:13,568 INFO L272 TraceCheckUtils]: 19: Hoare triple {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {767#true} is VALID [2022-04-27 12:49:13,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {767#true} ~cond := #in~cond; {767#true} is VALID [2022-04-27 12:49:13,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {767#true} assume !(0 == ~cond); {767#true} is VALID [2022-04-27 12:49:13,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:13,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {767#true} {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:13,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {823#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {848#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:13,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {848#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {852#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:13,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {852#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {768#false} is VALID [2022-04-27 12:49:13,571 INFO L290 TraceCheckUtils]: 27: Hoare triple {768#false} assume !false; {768#false} is VALID [2022-04-27 12:49:13,571 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 12:49:13,571 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:49:48,068 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:48,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [960205201] [2022-04-27 12:49:48,069 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:48,069 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1845855424] [2022-04-27 12:49:48,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1845855424] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 12:49:48,069 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:49:48,069 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-27 12:49:48,069 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740584684] [2022-04-27 12:49:48,070 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 12:49:48,070 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 28 [2022-04-27 12:49:48,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:48,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:49:48,090 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 12:49:48,091 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:49:48,091 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:48,091 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:49:48,091 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:49:48,092 INFO L87 Difference]: Start difference. First operand 46 states and 63 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:49:48,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:48,443 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-27 12:49:48,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 12:49:48,444 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 28 [2022-04-27 12:49:48,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:48,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:49:48,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-27 12:49:48,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:49:48,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-27 12:49:48,447 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-27 12:49:48,498 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:48,500 INFO L225 Difference]: With dead ends: 53 [2022-04-27 12:49:48,500 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 12:49:48,500 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 24 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:49:48,501 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 21 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 132 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:48,501 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 185 Invalid, 132 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:49:48,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 12:49:48,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 12:49:48,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:48,514 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:48,514 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:48,515 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:48,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:48,516 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-27 12:49:48,516 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-27 12:49:48,517 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:48,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:48,517 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-27 12:49:48,517 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-27 12:49:48,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:48,519 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-27 12:49:48,519 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-27 12:49:48,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:48,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:48,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:48,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:48,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 12:49:48,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-27 12:49:48,521 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-27 12:49:48,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:48,521 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-27 12:49:48,522 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-27 12:49:48,522 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-27 12:49:48,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 12:49:48,522 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:48,522 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:48,561 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 12:49:48,723 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,SelfDestructingSolverStorable3 [2022-04-27 12:49:48,723 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:48,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:48,724 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-27 12:49:48,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:48,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1984741024] [2022-04-27 12:49:48,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:48,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:48,742 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:48,742 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [682496219] [2022-04-27 12:49:48,742 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:48,742 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:48,742 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:48,744 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 12:49:48,745 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 12:49:48,783 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:48,783 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 12:49:48,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:48,795 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:48,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {1136#true} call ULTIMATE.init(); {1136#true} is VALID [2022-04-27 12:49:48,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {1136#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L290 TraceCheckUtils]: 2: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1136#true} {1136#true} #82#return; {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {1136#true} call #t~ret7 := main(); {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {1136#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {1136#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:48,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {1136#true} ~cond := #in~cond; {1162#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 12:49:48,952 INFO L290 TraceCheckUtils]: 8: Hoare triple {1162#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1166#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:49:48,952 INFO L290 TraceCheckUtils]: 9: Hoare triple {1166#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1166#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 12:49:48,953 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1166#(not (= |assume_abort_if_not_#in~cond| 0))} {1136#true} #64#return; {1173#(<= 1 main_~x~0)} is VALID [2022-04-27 12:49:48,953 INFO L272 TraceCheckUtils]: 11: Hoare triple {1173#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:48,953 INFO L290 TraceCheckUtils]: 12: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:48,953 INFO L290 TraceCheckUtils]: 13: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:48,953 INFO L290 TraceCheckUtils]: 14: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:48,954 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1136#true} {1173#(<= 1 main_~x~0)} #66#return; {1173#(<= 1 main_~x~0)} is VALID [2022-04-27 12:49:48,954 INFO L290 TraceCheckUtils]: 16: Hoare triple {1173#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:49:48,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:49:48,955 INFO L290 TraceCheckUtils]: 18: Hoare triple {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:49:48,955 INFO L272 TraceCheckUtils]: 19: Hoare triple {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:48,955 INFO L290 TraceCheckUtils]: 20: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:48,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:48,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:48,956 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1136#true} {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:49:48,956 INFO L272 TraceCheckUtils]: 24: Hoare triple {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:48,956 INFO L290 TraceCheckUtils]: 25: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:48,956 INFO L290 TraceCheckUtils]: 26: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:48,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:48,957 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1136#true} {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-27 12:49:48,958 INFO L272 TraceCheckUtils]: 29: Hoare triple {1192#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1232#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:48,958 INFO L290 TraceCheckUtils]: 30: Hoare triple {1232#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1236#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:48,958 INFO L290 TraceCheckUtils]: 31: Hoare triple {1236#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1137#false} is VALID [2022-04-27 12:49:48,959 INFO L290 TraceCheckUtils]: 32: Hoare triple {1137#false} assume !false; {1137#false} is VALID [2022-04-27 12:49:48,959 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-27 12:49:48,959 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:49:49,103 INFO L290 TraceCheckUtils]: 32: Hoare triple {1137#false} assume !false; {1137#false} is VALID [2022-04-27 12:49:49,104 INFO L290 TraceCheckUtils]: 31: Hoare triple {1236#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1137#false} is VALID [2022-04-27 12:49:49,104 INFO L290 TraceCheckUtils]: 30: Hoare triple {1232#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1236#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:49,105 INFO L272 TraceCheckUtils]: 29: Hoare triple {1252#(= 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)); {1232#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:49,106 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1136#true} {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:49:49,106 INFO L290 TraceCheckUtils]: 27: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:49,106 INFO L290 TraceCheckUtils]: 26: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:49,106 INFO L290 TraceCheckUtils]: 25: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:49,106 INFO L272 TraceCheckUtils]: 24: Hoare triple {1252#(= 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)); {1136#true} is VALID [2022-04-27 12:49:49,107 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1136#true} {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:49:49,107 INFO L290 TraceCheckUtils]: 22: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:49,107 INFO L290 TraceCheckUtils]: 21: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:49,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:49,107 INFO L272 TraceCheckUtils]: 19: Hoare triple {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:49,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:49:49,108 INFO L290 TraceCheckUtils]: 17: Hoare triple {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {1136#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1252#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-27 12:49:49,109 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1136#true} {1136#true} #66#return; {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L272 TraceCheckUtils]: 11: Hoare triple {1136#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1136#true} {1136#true} #64#return; {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:49:49,109 INFO L290 TraceCheckUtils]: 7: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {1136#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {1136#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {1136#true} call #t~ret7 := main(); {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1136#true} {1136#true} #82#return; {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {1136#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {1136#true} call ULTIMATE.init(); {1136#true} is VALID [2022-04-27 12:49:49,110 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-27 12:49:49,110 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:49,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1984741024] [2022-04-27 12:49:49,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:49,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [682496219] [2022-04-27 12:49:49,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [682496219] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:49:49,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:49:49,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-27 12:49:49,111 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1806337921] [2022-04-27 12:49:49,111 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:49,112 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 12:49:49,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:49,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:49:49,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:49,129 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:49,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:49,129 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:49,129 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:49:49,129 INFO L87 Difference]: Start difference. First operand 50 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:49:49,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:49,395 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-27 12:49:49,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:49:49,395 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 12:49:49,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:49,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:49:49,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:49,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:49:49,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:49,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-27 12:49:49,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:49,447 INFO L225 Difference]: With dead ends: 75 [2022-04-27 12:49:49,447 INFO L226 Difference]: Without dead ends: 71 [2022-04-27 12:49:49,448 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 12:49:49,448 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:49,449 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:49:49,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-27 12:49:49,487 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-27 12:49:49,487 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:49,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:49:49,488 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:49:49,488 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:49:49,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:49,491 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-27 12:49:49,491 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:49:49,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:49,491 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:49,492 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-27 12:49:49,492 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-27 12:49:49,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:49,495 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-27 12:49:49,495 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:49:49,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:49,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:49,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:49,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:49,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 12:49:49,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-27 12:49:49,500 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-27 12:49:49,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:49,500 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-27 12:49:49,500 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 12:49:49,500 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:49:49,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 12:49:49,501 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:49,501 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:49:49,520 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 12:49:49,720 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:49,720 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:49,720 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:49,720 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-27 12:49:49,720 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:49,720 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1399732774] [2022-04-27 12:49:49,721 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:49,721 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:49,735 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:49,735 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [413124737] [2022-04-27 12:49:49,735 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:49,735 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:49,735 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:49,746 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 12:49:49,746 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 12:49:49,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:49,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 12:49:49,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:49,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:49,889 INFO L272 TraceCheckUtils]: 0: Hoare triple {1712#true} call ULTIMATE.init(); {1712#true} is VALID [2022-04-27 12:49:49,890 INFO L290 TraceCheckUtils]: 1: Hoare triple {1712#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1712#true} is VALID [2022-04-27 12:49:49,890 INFO L290 TraceCheckUtils]: 2: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,892 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1712#true} {1712#true} #82#return; {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {1712#true} call #t~ret7 := main(); {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {1712#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {1712#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L290 TraceCheckUtils]: 7: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L290 TraceCheckUtils]: 8: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1712#true} {1712#true} #64#return; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L272 TraceCheckUtils]: 11: Hoare triple {1712#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 12: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 13: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 14: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1712#true} {1712#true} #66#return; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 16: Hoare triple {1712#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 17: Hoare triple {1712#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 18: Hoare triple {1712#true} assume !!(#t~post6 < 20);havoc #t~post6; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L272 TraceCheckUtils]: 19: Hoare triple {1712#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 20: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 21: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:49:49,894 INFO L290 TraceCheckUtils]: 22: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1712#true} {1712#true} #68#return; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L272 TraceCheckUtils]: 24: Hoare triple {1712#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1712#true} {1712#true} #70#return; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L272 TraceCheckUtils]: 29: Hoare triple {1712#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 30: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 31: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:49:49,895 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1712#true} {1712#true} #72#return; {1712#true} is VALID [2022-04-27 12:49:49,896 INFO L290 TraceCheckUtils]: 34: Hoare triple {1712#true} assume !(~a~0 != ~b~0); {1819#(= main_~b~0 main_~a~0)} is VALID [2022-04-27 12:49:49,896 INFO L272 TraceCheckUtils]: 35: Hoare triple {1819#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1823#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:49,897 INFO L290 TraceCheckUtils]: 36: Hoare triple {1823#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1827#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:49,897 INFO L290 TraceCheckUtils]: 37: Hoare triple {1827#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1713#false} is VALID [2022-04-27 12:49:49,897 INFO L290 TraceCheckUtils]: 38: Hoare triple {1713#false} assume !false; {1713#false} is VALID [2022-04-27 12:49:49,897 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 12:49:49,897 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:49:49,897 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:49,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1399732774] [2022-04-27 12:49:49,898 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:49,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [413124737] [2022-04-27 12:49:49,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [413124737] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:49,898 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:49,898 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:49,898 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265293725] [2022-04-27 12:49:49,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:49,900 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-27 12:49:49,901 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:49,901 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-27 12:49:49,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:49,919 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:49,919 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:49,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:49,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:49,920 INFO L87 Difference]: Start difference. First operand 71 states and 100 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-27 12:49:50,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:50,094 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-27 12:49:50,094 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:49:50,094 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-27 12:49:50,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:50,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-27 12:49:50,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 12:49:50,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-27 12:49:50,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 12:49:50,101 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 12:49:50,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:50,140 INFO L225 Difference]: With dead ends: 87 [2022-04-27 12:49:50,140 INFO L226 Difference]: Without dead ends: 85 [2022-04-27 12:49:50,140 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 12:49:50,142 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:50,142 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:49:50,143 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-27 12:49:50,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-27 12:49:50,182 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:50,184 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 12:49:50,185 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 12:49:50,185 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 12:49:50,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:50,190 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-27 12:49:50,190 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-27 12:49:50,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:50,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:50,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-27 12:49:50,191 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-27 12:49:50,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:50,196 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-27 12:49:50,196 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-27 12:49:50,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:50,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:50,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:50,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:50,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-27 12:49:50,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-27 12:49:50,200 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-27 12:49:50,201 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:50,201 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-27 12:49:50,201 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-27 12:49:50,201 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-27 12:49:50,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 12:49:50,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:50,203 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1, 1] [2022-04-27 12:49:50,219 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 12:49:50,418 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:50,418 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:50,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:50,419 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-27 12:49:50,419 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:50,419 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1879649322] [2022-04-27 12:49:50,419 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:50,419 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:50,429 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:50,429 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [313622000] [2022-04-27 12:49:50,429 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:50,429 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:50,429 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:50,446 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 12:49:50,448 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 12:49:50,484 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:50,485 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 12:49:50,495 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:50,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:50,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {2263#true} call ULTIMATE.init(); {2263#true} is VALID [2022-04-27 12:49:50,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {2263#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,662 INFO L290 TraceCheckUtils]: 2: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2271#(<= ~counter~0 0)} {2263#true} #82#return; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {2271#(<= ~counter~0 0)} call #t~ret7 := main(); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {2271#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {2271#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {2271#(<= ~counter~0 0)} ~cond := #in~cond; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {2271#(<= ~counter~0 0)} assume !(0 == ~cond); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,666 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2271#(<= ~counter~0 0)} {2271#(<= ~counter~0 0)} #64#return; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,666 INFO L272 TraceCheckUtils]: 11: Hoare triple {2271#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {2271#(<= ~counter~0 0)} ~cond := #in~cond; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {2271#(<= ~counter~0 0)} assume !(0 == ~cond); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,667 INFO L290 TraceCheckUtils]: 14: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,667 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2271#(<= ~counter~0 0)} {2271#(<= ~counter~0 0)} #66#return; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {2271#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:49:50,668 INFO L290 TraceCheckUtils]: 17: Hoare triple {2271#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,668 INFO L290 TraceCheckUtils]: 18: Hoare triple {2320#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,669 INFO L272 TraceCheckUtils]: 19: Hoare triple {2320#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,669 INFO L290 TraceCheckUtils]: 20: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,670 INFO L290 TraceCheckUtils]: 22: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,670 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2320#(<= ~counter~0 1)} {2320#(<= ~counter~0 1)} #68#return; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,671 INFO L272 TraceCheckUtils]: 24: Hoare triple {2320#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,671 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,672 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,672 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,674 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2320#(<= ~counter~0 1)} {2320#(<= ~counter~0 1)} #70#return; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,675 INFO L272 TraceCheckUtils]: 29: Hoare triple {2320#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,676 INFO L290 TraceCheckUtils]: 30: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,676 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,681 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,682 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2320#(<= ~counter~0 1)} {2320#(<= ~counter~0 1)} #72#return; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,682 INFO L290 TraceCheckUtils]: 34: Hoare triple {2320#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,683 INFO L290 TraceCheckUtils]: 35: Hoare triple {2320#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:49:50,683 INFO L290 TraceCheckUtils]: 36: Hoare triple {2320#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2378#(<= |main_#t~post6| 1)} is VALID [2022-04-27 12:49:50,684 INFO L290 TraceCheckUtils]: 37: Hoare triple {2378#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {2264#false} is VALID [2022-04-27 12:49:50,684 INFO L272 TraceCheckUtils]: 38: Hoare triple {2264#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2264#false} is VALID [2022-04-27 12:49:50,684 INFO L290 TraceCheckUtils]: 39: Hoare triple {2264#false} ~cond := #in~cond; {2264#false} is VALID [2022-04-27 12:49:50,684 INFO L290 TraceCheckUtils]: 40: Hoare triple {2264#false} assume 0 == ~cond; {2264#false} is VALID [2022-04-27 12:49:50,684 INFO L290 TraceCheckUtils]: 41: Hoare triple {2264#false} assume !false; {2264#false} is VALID [2022-04-27 12:49:50,684 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 12:49:50,684 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:49:50,856 INFO L290 TraceCheckUtils]: 41: Hoare triple {2264#false} assume !false; {2264#false} is VALID [2022-04-27 12:49:50,856 INFO L290 TraceCheckUtils]: 40: Hoare triple {2264#false} assume 0 == ~cond; {2264#false} is VALID [2022-04-27 12:49:50,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {2264#false} ~cond := #in~cond; {2264#false} is VALID [2022-04-27 12:49:50,856 INFO L272 TraceCheckUtils]: 38: Hoare triple {2264#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2264#false} is VALID [2022-04-27 12:49:50,856 INFO L290 TraceCheckUtils]: 37: Hoare triple {2406#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2264#false} is VALID [2022-04-27 12:49:50,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {2410#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2406#(< |main_#t~post6| 20)} is VALID [2022-04-27 12:49:50,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {2410#(< ~counter~0 20)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,857 INFO L290 TraceCheckUtils]: 34: Hoare triple {2410#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,858 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2263#true} {2410#(< ~counter~0 20)} #72#return; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,858 INFO L290 TraceCheckUtils]: 32: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:49:50,858 INFO L290 TraceCheckUtils]: 31: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:49:50,858 INFO L290 TraceCheckUtils]: 30: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:49:50,858 INFO L272 TraceCheckUtils]: 29: Hoare triple {2410#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:49:50,859 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2263#true} {2410#(< ~counter~0 20)} #70#return; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,859 INFO L290 TraceCheckUtils]: 27: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:49:50,859 INFO L290 TraceCheckUtils]: 26: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:49:50,859 INFO L290 TraceCheckUtils]: 25: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:49:50,859 INFO L272 TraceCheckUtils]: 24: Hoare triple {2410#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:49:50,860 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2263#true} {2410#(< ~counter~0 20)} #68#return; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,860 INFO L290 TraceCheckUtils]: 22: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:49:50,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:49:50,860 INFO L290 TraceCheckUtils]: 20: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:49:50,860 INFO L272 TraceCheckUtils]: 19: Hoare triple {2410#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:49:50,860 INFO L290 TraceCheckUtils]: 18: Hoare triple {2410#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,861 INFO L290 TraceCheckUtils]: 17: Hoare triple {2468#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2410#(< ~counter~0 20)} is VALID [2022-04-27 12:49:50,861 INFO L290 TraceCheckUtils]: 16: Hoare triple {2468#(< ~counter~0 19)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,862 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2263#true} {2468#(< ~counter~0 19)} #66#return; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,862 INFO L290 TraceCheckUtils]: 14: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:49:50,862 INFO L290 TraceCheckUtils]: 13: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:49:50,862 INFO L290 TraceCheckUtils]: 12: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:49:50,862 INFO L272 TraceCheckUtils]: 11: Hoare triple {2468#(< ~counter~0 19)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:49:50,862 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2263#true} {2468#(< ~counter~0 19)} #64#return; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,863 INFO L290 TraceCheckUtils]: 9: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:49:50,863 INFO L290 TraceCheckUtils]: 8: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:49:50,863 INFO L290 TraceCheckUtils]: 7: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:49:50,863 INFO L272 TraceCheckUtils]: 6: Hoare triple {2468#(< ~counter~0 19)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:49:50,863 INFO L290 TraceCheckUtils]: 5: Hoare triple {2468#(< ~counter~0 19)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,864 INFO L272 TraceCheckUtils]: 4: Hoare triple {2468#(< ~counter~0 19)} call #t~ret7 := main(); {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,865 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2468#(< ~counter~0 19)} {2263#true} #82#return; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {2468#(< ~counter~0 19)} assume true; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,866 INFO L290 TraceCheckUtils]: 1: Hoare triple {2263#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2468#(< ~counter~0 19)} is VALID [2022-04-27 12:49:50,866 INFO L272 TraceCheckUtils]: 0: Hoare triple {2263#true} call ULTIMATE.init(); {2263#true} is VALID [2022-04-27 12:49:50,866 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-27 12:49:50,866 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:50,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1879649322] [2022-04-27 12:49:50,866 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:50,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [313622000] [2022-04-27 12:49:50,867 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [313622000] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:49:50,867 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:49:50,867 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 12:49:50,867 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [512471196] [2022-04-27 12:49:50,867 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:49:50,867 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 42 [2022-04-27 12:49:50,868 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:50,868 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 12:49:50,907 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 12:49:50,907 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:49:50,907 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:50,908 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:49:50,908 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:49:50,908 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 12:49:51,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:51,335 INFO L93 Difference]: Finished difference Result 222 states and 290 transitions. [2022-04-27 12:49:51,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 12:49:51,336 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 42 [2022-04-27 12:49:51,336 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:51,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 12:49:51,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 12:49:51,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 12:49:51,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 12:49:51,340 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-27 12:49:51,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:51,428 INFO L225 Difference]: With dead ends: 222 [2022-04-27 12:49:51,428 INFO L226 Difference]: Without dead ends: 200 [2022-04-27 12:49:51,429 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:49:51,429 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 62 mSDsluCounter, 167 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 73 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:51,430 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 222 Invalid, 73 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:49:51,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-27 12:49:51,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 194. [2022-04-27 12:49:51,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:51,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 200 states. Second operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 12:49:51,502 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 12:49:51,503 INFO L87 Difference]: Start difference. First operand 200 states. Second operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 12:49:51,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:51,509 INFO L93 Difference]: Finished difference Result 200 states and 254 transitions. [2022-04-27 12:49:51,509 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 254 transitions. [2022-04-27 12:49:51,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:51,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:51,510 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 200 states. [2022-04-27 12:49:51,511 INFO L87 Difference]: Start difference. First operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 200 states. [2022-04-27 12:49:51,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:51,517 INFO L93 Difference]: Finished difference Result 200 states and 254 transitions. [2022-04-27 12:49:51,518 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 254 transitions. [2022-04-27 12:49:51,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:51,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:51,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:51,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:51,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 109 states have (on average 1.2201834862385321) internal successors, (133), 120 states have internal predecessors, (133), 63 states have call successors, (63), 23 states have call predecessors, (63), 21 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-27 12:49:51,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 251 transitions. [2022-04-27 12:49:51,525 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 251 transitions. Word has length 42 [2022-04-27 12:49:51,526 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:51,526 INFO L495 AbstractCegarLoop]: Abstraction has 194 states and 251 transitions. [2022-04-27 12:49:51,526 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (14), 5 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 12:49:51,526 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 251 transitions. [2022-04-27 12:49:51,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 12:49:51,526 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:51,526 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 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 12:49:51,561 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 12:49:51,743 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:51,744 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:51,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:51,744 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-27 12:49:51,744 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:51,744 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172948775] [2022-04-27 12:49:51,744 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:51,744 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:51,756 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:51,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [770207331] [2022-04-27 12:49:51,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:51,756 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:51,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:51,763 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 12:49:51,777 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 12:49:51,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:51,815 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 12:49:51,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:51,827 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:54,491 INFO L272 TraceCheckUtils]: 0: Hoare triple {3552#true} call ULTIMATE.init(); {3552#true} is VALID [2022-04-27 12:49:54,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {3552#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3552#true} is VALID [2022-04-27 12:49:54,491 INFO L290 TraceCheckUtils]: 2: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,491 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3552#true} {3552#true} #82#return; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L272 TraceCheckUtils]: 4: Hoare triple {3552#true} call #t~ret7 := main(); {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {3552#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L272 TraceCheckUtils]: 6: Hoare triple {3552#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3552#true} {3552#true} #64#return; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L272 TraceCheckUtils]: 11: Hoare triple {3552#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 12: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L290 TraceCheckUtils]: 14: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,492 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3552#true} {3552#true} #66#return; {3552#true} is VALID [2022-04-27 12:49:54,494 INFO L290 TraceCheckUtils]: 16: Hoare triple {3552#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,494 INFO L290 TraceCheckUtils]: 17: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,495 INFO L290 TraceCheckUtils]: 18: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,495 INFO L272 TraceCheckUtils]: 19: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3552#true} is VALID [2022-04-27 12:49:54,495 INFO L290 TraceCheckUtils]: 20: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:49:54,495 INFO L290 TraceCheckUtils]: 21: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:49:54,495 INFO L290 TraceCheckUtils]: 22: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,496 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3552#true} {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,496 INFO L272 TraceCheckUtils]: 24: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3552#true} is VALID [2022-04-27 12:49:54,496 INFO L290 TraceCheckUtils]: 25: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:49:54,496 INFO L290 TraceCheckUtils]: 26: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:49:54,496 INFO L290 TraceCheckUtils]: 27: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,497 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3552#true} {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,497 INFO L272 TraceCheckUtils]: 29: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3552#true} is VALID [2022-04-27 12:49:54,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:49:54,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:49:54,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:49:54,498 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3552#true} {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,498 INFO L290 TraceCheckUtils]: 34: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,499 INFO L290 TraceCheckUtils]: 35: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,499 INFO L290 TraceCheckUtils]: 36: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,500 INFO L290 TraceCheckUtils]: 37: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:49:54,500 INFO L272 TraceCheckUtils]: 38: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:54,501 INFO L290 TraceCheckUtils]: 39: Hoare triple {3672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:54,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {3676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3553#false} is VALID [2022-04-27 12:49:54,501 INFO L290 TraceCheckUtils]: 41: Hoare triple {3553#false} assume !false; {3553#false} is VALID [2022-04-27 12:49:54,501 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 12:49:54,501 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:49:54,501 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:54,501 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172948775] [2022-04-27 12:49:54,502 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:54,502 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [770207331] [2022-04-27 12:49:54,502 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [770207331] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:54,502 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:54,502 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:54,502 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [329514149] [2022-04-27 12:49:54,502 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:54,503 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:54,503 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:54,529 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:54,529 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:54,530 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:54,530 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:54,530 INFO L87 Difference]: Start difference. First operand 194 states and 251 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:54,739 INFO L93 Difference]: Finished difference Result 208 states and 264 transitions. [2022-04-27 12:49:54,739 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:49:54,739 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:54,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 12:49:54,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 12:49:54,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-27 12:49:54,785 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:49:54,788 INFO L225 Difference]: With dead ends: 208 [2022-04-27 12:49:54,788 INFO L226 Difference]: Without dead ends: 203 [2022-04-27 12:49:54,789 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 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 12:49:54,789 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:49:54,789 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:49:54,790 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-27 12:49:54,869 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 203. [2022-04-27 12:49:54,869 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:54,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-27 12:49:54,870 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-27 12:49:54,871 INFO L87 Difference]: Start difference. First operand 203 states. Second operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-27 12:49:54,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:54,875 INFO L93 Difference]: Finished difference Result 203 states and 254 transitions. [2022-04-27 12:49:54,875 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:49:54,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:54,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:54,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 203 states. [2022-04-27 12:49:54,877 INFO L87 Difference]: Start difference. First operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 203 states. [2022-04-27 12:49:54,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:54,881 INFO L93 Difference]: Finished difference Result 203 states and 254 transitions. [2022-04-27 12:49:54,882 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:49:54,882 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:54,882 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:54,882 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:54,882 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:54,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 203 states, 118 states have (on average 1.2033898305084745) internal successors, (142), 129 states have internal predecessors, (142), 60 states have call successors, (60), 26 states have call predecessors, (60), 24 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-27 12:49:54,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 254 transitions. [2022-04-27 12:49:54,888 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 254 transitions. Word has length 42 [2022-04-27 12:49:54,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:54,888 INFO L495 AbstractCegarLoop]: Abstraction has 203 states and 254 transitions. [2022-04-27 12:49:54,888 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:49:54,888 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:49:54,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 12:49:54,889 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:54,889 INFO L195 NwaCegarLoop]: trace histogram [5, 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, 1] [2022-04-27 12:49:54,921 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 12:49:55,105 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:55,107 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:55,107 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:55,107 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-27 12:49:55,108 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:55,108 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [494574137] [2022-04-27 12:49:55,108 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:55,108 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:55,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:55,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1564250363] [2022-04-27 12:49:55,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:55,137 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:55,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:55,138 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 12:49:55,139 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 12:49:55,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:55,174 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 12:49:55,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:55,182 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:55,311 INFO L272 TraceCheckUtils]: 0: Hoare triple {4700#true} call ULTIMATE.init(); {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 1: Hoare triple {4700#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 2: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4700#true} {4700#true} #82#return; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L272 TraceCheckUtils]: 4: Hoare triple {4700#true} call #t~ret7 := main(); {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 5: Hoare triple {4700#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L272 TraceCheckUtils]: 6: Hoare triple {4700#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 7: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 9: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4700#true} {4700#true} #64#return; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L272 TraceCheckUtils]: 11: Hoare triple {4700#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 12: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:49:55,312 INFO L290 TraceCheckUtils]: 13: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4700#true} {4700#true} #66#return; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 16: Hoare triple {4700#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 17: Hoare triple {4700#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#true} assume !!(#t~post6 < 20);havoc #t~post6; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L272 TraceCheckUtils]: 19: Hoare triple {4700#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 20: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 21: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L290 TraceCheckUtils]: 22: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4700#true} {4700#true} #68#return; {4700#true} is VALID [2022-04-27 12:49:55,313 INFO L272 TraceCheckUtils]: 24: Hoare triple {4700#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:49:55,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {4700#true} ~cond := #in~cond; {4780#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:55,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {4780#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:49:55,314 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:49:55,315 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} {4700#true} #70#return; {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:49:55,315 INFO L272 TraceCheckUtils]: 29: Hoare triple {4791#(= main_~a~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)); {4700#true} is VALID [2022-04-27 12:49:55,315 INFO L290 TraceCheckUtils]: 30: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:49:55,315 INFO L290 TraceCheckUtils]: 31: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:49:55,315 INFO L290 TraceCheckUtils]: 32: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,316 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4700#true} {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:49:55,316 INFO L290 TraceCheckUtils]: 34: Hoare triple {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:49:55,316 INFO L272 TraceCheckUtils]: 35: Hoare triple {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:49:55,316 INFO L290 TraceCheckUtils]: 36: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:49:55,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:49:55,316 INFO L290 TraceCheckUtils]: 38: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:49:55,317 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4700#true} {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:49:55,318 INFO L272 TraceCheckUtils]: 40: Hoare triple {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4829#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:49:55,318 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4833#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:49:55,318 INFO L290 TraceCheckUtils]: 42: Hoare triple {4833#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4701#false} is VALID [2022-04-27 12:49:55,318 INFO L290 TraceCheckUtils]: 43: Hoare triple {4701#false} assume !false; {4701#false} is VALID [2022-04-27 12:49:55,319 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 12:49:55,319 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:11,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {4701#false} assume !false; {4701#false} is VALID [2022-04-27 12:50:11,783 INFO L290 TraceCheckUtils]: 42: Hoare triple {4833#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4701#false} is VALID [2022-04-27 12:50:11,784 INFO L290 TraceCheckUtils]: 41: Hoare triple {4829#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4833#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:50:11,784 INFO L272 TraceCheckUtils]: 40: Hoare triple {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4829#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:50:11,785 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4700#true} {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:11,785 INFO L290 TraceCheckUtils]: 38: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,785 INFO L290 TraceCheckUtils]: 37: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:11,785 INFO L290 TraceCheckUtils]: 36: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:11,785 INFO L272 TraceCheckUtils]: 35: Hoare triple {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:50:11,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4810#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:11,786 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4700#true} {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:11,786 INFO L290 TraceCheckUtils]: 32: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:11,787 INFO L290 TraceCheckUtils]: 30: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:11,787 INFO L272 TraceCheckUtils]: 29: Hoare triple {4791#(= main_~a~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)); {4700#true} is VALID [2022-04-27 12:50:11,787 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} {4700#true} #70#return; {4791#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:11,787 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:50:11,788 INFO L290 TraceCheckUtils]: 26: Hoare triple {4894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4784#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 12:50:11,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {4700#true} ~cond := #in~cond; {4894#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 12:50:11,788 INFO L272 TraceCheckUtils]: 24: Hoare triple {4700#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:50:11,788 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4700#true} {4700#true} #68#return; {4700#true} is VALID [2022-04-27 12:50:11,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,788 INFO L290 TraceCheckUtils]: 21: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:11,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L272 TraceCheckUtils]: 19: Hoare triple {4700#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#true} assume !!(#t~post6 < 20);havoc #t~post6; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 17: Hoare triple {4700#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 16: Hoare triple {4700#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4700#true} {4700#true} #66#return; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 14: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 13: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 12: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L272 TraceCheckUtils]: 11: Hoare triple {4700#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4700#true} {4700#true} #64#return; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 9: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L290 TraceCheckUtils]: 7: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:11,789 INFO L272 TraceCheckUtils]: 6: Hoare triple {4700#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L290 TraceCheckUtils]: 5: Hoare triple {4700#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L272 TraceCheckUtils]: 4: Hoare triple {4700#true} call #t~ret7 := main(); {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4700#true} {4700#true} #82#return; {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L290 TraceCheckUtils]: 2: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L290 TraceCheckUtils]: 1: Hoare triple {4700#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L272 TraceCheckUtils]: 0: Hoare triple {4700#true} call ULTIMATE.init(); {4700#true} is VALID [2022-04-27 12:50:11,790 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-27 12:50:11,790 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:11,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [494574137] [2022-04-27 12:50:11,791 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:11,791 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1564250363] [2022-04-27 12:50:11,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1564250363] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:11,791 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:11,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 12:50:11,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [46019594] [2022-04-27 12:50:11,791 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:11,791 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-27 12:50:11,792 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:11,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 12:50:11,819 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 12:50:11,819 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 12:50:11,820 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:11,820 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 12:50:11,820 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:50:11,820 INFO L87 Difference]: Start difference. First operand 203 states and 254 transitions. Second operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 12:50:12,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,425 INFO L93 Difference]: Finished difference Result 232 states and 290 transitions. [2022-04-27 12:50:12,425 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 12:50:12,425 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-27 12:50:12,425 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:12,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 12:50:12,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-27 12:50:12,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 12:50:12,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-27 12:50:12,428 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-27 12:50:12,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:12,479 INFO L225 Difference]: With dead ends: 232 [2022-04-27 12:50:12,479 INFO L226 Difference]: Without dead ends: 216 [2022-04-27 12:50:12,479 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 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 12:50:12,480 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:12,480 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 12:50:12,480 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-27 12:50:12,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 214. [2022-04-27 12:50:12,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:12,561 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 12:50:12,562 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 12:50:12,562 INFO L87 Difference]: Start difference. First operand 216 states. Second operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 12:50:12,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,568 INFO L93 Difference]: Finished difference Result 216 states and 265 transitions. [2022-04-27 12:50:12,568 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 265 transitions. [2022-04-27 12:50:12,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:12,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:12,569 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) Second operand 216 states. [2022-04-27 12:50:12,569 INFO L87 Difference]: Start difference. First operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) Second operand 216 states. [2022-04-27 12:50:12,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,575 INFO L93 Difference]: Finished difference Result 216 states and 265 transitions. [2022-04-27 12:50:12,575 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 265 transitions. [2022-04-27 12:50:12,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:12,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:12,575 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:12,576 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:12,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 128 states have (on average 1.1640625) internal successors, (149), 139 states have internal predecessors, (149), 59 states have call successors, (59), 27 states have call predecessors, (59), 26 states have return successors, (54), 47 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-27 12:50:12,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 262 transitions. [2022-04-27 12:50:12,581 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 262 transitions. Word has length 44 [2022-04-27 12:50:12,581 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:12,581 INFO L495 AbstractCegarLoop]: Abstraction has 214 states and 262 transitions. [2022-04-27 12:50:12,581 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-27 12:50:12,581 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 262 transitions. [2022-04-27 12:50:12,582 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 12:50:12,582 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:12,582 INFO L195 NwaCegarLoop]: trace histogram [5, 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] [2022-04-27 12:50:12,616 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 12:50:12,799 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:12,800 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:12,800 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:12,800 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 2 times [2022-04-27 12:50:12,800 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:12,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1826036623] [2022-04-27 12:50:12,800 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:12,801 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:12,824 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:12,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1322662275] [2022-04-27 12:50:12,824 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:50:12,824 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:12,824 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:12,860 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 12:50:12,861 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 12:50:12,901 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:50:12,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:50:12,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 12:50:12,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:12,913 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:13,221 INFO L272 TraceCheckUtils]: 0: Hoare triple {6070#true} call ULTIMATE.init(); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {6070#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6070#true} {6070#true} #82#return; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {6070#true} call #t~ret7 := main(); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {6070#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L272 TraceCheckUtils]: 6: Hoare triple {6070#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6070#true} {6070#true} #64#return; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L272 TraceCheckUtils]: 11: Hoare triple {6070#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,222 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6070#true} {6070#true} #66#return; {6070#true} is VALID [2022-04-27 12:50:13,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {6070#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(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 12:50:13,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {6123#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6123#(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 12:50:13,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {6123#(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 !!(#t~post6 < 20);havoc #t~post6; {6123#(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 12:50:13,225 INFO L272 TraceCheckUtils]: 19: Hoare triple {6123#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,226 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6070#true} {6123#(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))} #68#return; {6123#(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 12:50:13,226 INFO L272 TraceCheckUtils]: 24: Hoare triple {6123#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,226 INFO L290 TraceCheckUtils]: 25: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6070#true} {6123#(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))} #70#return; {6123#(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 12:50:13,227 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,228 INFO L290 TraceCheckUtils]: 30: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,228 INFO L290 TraceCheckUtils]: 31: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,228 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6070#true} {6123#(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))} #72#return; {6123#(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 12:50:13,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {6123#(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 !!(~a~0 != ~b~0); {6123#(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 12:50:13,229 INFO L290 TraceCheckUtils]: 35: Hoare triple {6123#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-27 12:50:13,230 INFO L290 TraceCheckUtils]: 36: Hoare triple {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-27 12:50:13,230 INFO L290 TraceCheckUtils]: 37: Hoare triple {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-27 12:50:13,230 INFO L272 TraceCheckUtils]: 38: Hoare triple {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,230 INFO L290 TraceCheckUtils]: 39: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,230 INFO L290 TraceCheckUtils]: 40: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,230 INFO L290 TraceCheckUtils]: 41: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,231 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6070#true} {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #68#return; {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-27 12:50:13,232 INFO L272 TraceCheckUtils]: 43: Hoare triple {6181#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6206#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:50:13,232 INFO L290 TraceCheckUtils]: 44: Hoare triple {6206#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6210#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:50:13,232 INFO L290 TraceCheckUtils]: 45: Hoare triple {6210#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6071#false} is VALID [2022-04-27 12:50:13,232 INFO L290 TraceCheckUtils]: 46: Hoare triple {6071#false} assume !false; {6071#false} is VALID [2022-04-27 12:50:13,232 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 12:50:13,233 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:13,435 INFO L290 TraceCheckUtils]: 46: Hoare triple {6071#false} assume !false; {6071#false} is VALID [2022-04-27 12:50:13,436 INFO L290 TraceCheckUtils]: 45: Hoare triple {6210#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6071#false} is VALID [2022-04-27 12:50:13,436 INFO L290 TraceCheckUtils]: 44: Hoare triple {6206#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6210#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:50:13,437 INFO L272 TraceCheckUtils]: 43: Hoare triple {6226#(= 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)); {6206#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:50:13,438 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6070#true} {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:13,438 INFO L290 TraceCheckUtils]: 41: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:13,438 INFO L290 TraceCheckUtils]: 40: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:13,438 INFO L290 TraceCheckUtils]: 39: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:13,438 INFO L272 TraceCheckUtils]: 38: Hoare triple {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:13,438 INFO L290 TraceCheckUtils]: 37: Hoare triple {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 20);havoc #t~post6; {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:13,438 INFO L290 TraceCheckUtils]: 36: Hoare triple {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:14,718 INFO L290 TraceCheckUtils]: 35: Hoare triple {6251#(= (+ 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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {6226#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-27 12:50:14,718 INFO L290 TraceCheckUtils]: 34: Hoare triple {6251#(= (+ 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 !!(~a~0 != ~b~0); {6251#(= (+ 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 12:50:14,719 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6070#true} {6251#(= (+ 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)))))} #72#return; {6251#(= (+ 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 12:50:14,719 INFO L290 TraceCheckUtils]: 32: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:14,719 INFO L290 TraceCheckUtils]: 30: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:14,719 INFO L272 TraceCheckUtils]: 29: Hoare triple {6251#(= (+ 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)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:14,720 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6070#true} {6251#(= (+ 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)))))} #70#return; {6251#(= (+ 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 12:50:14,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:14,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:14,720 INFO L272 TraceCheckUtils]: 24: Hoare triple {6251#(= (+ 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)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:14,721 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6070#true} {6251#(= (+ 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)))))} #68#return; {6251#(= (+ 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 12:50:14,721 INFO L290 TraceCheckUtils]: 22: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,721 INFO L290 TraceCheckUtils]: 21: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:14,721 INFO L290 TraceCheckUtils]: 20: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:14,721 INFO L272 TraceCheckUtils]: 19: Hoare triple {6251#(= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:14,721 INFO L290 TraceCheckUtils]: 18: Hoare triple {6251#(= (+ 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 !!(#t~post6 < 20);havoc #t~post6; {6251#(= (+ 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 12:50:14,722 INFO L290 TraceCheckUtils]: 17: Hoare triple {6251#(= (+ 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)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6251#(= (+ 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 12:50:14,722 INFO L290 TraceCheckUtils]: 16: Hoare triple {6070#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6251#(= (+ 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 12:50:14,722 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6070#true} {6070#true} #66#return; {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L272 TraceCheckUtils]: 11: Hoare triple {6070#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6070#true} {6070#true} #64#return; {6070#true} is VALID [2022-04-27 12:50:14,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L272 TraceCheckUtils]: 6: Hoare triple {6070#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L290 TraceCheckUtils]: 5: Hoare triple {6070#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L272 TraceCheckUtils]: 4: Hoare triple {6070#true} call #t~ret7 := main(); {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6070#true} {6070#true} #82#return; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L290 TraceCheckUtils]: 1: Hoare triple {6070#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L272 TraceCheckUtils]: 0: Hoare triple {6070#true} call ULTIMATE.init(); {6070#true} is VALID [2022-04-27 12:50:14,723 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-27 12:50:14,723 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:14,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1826036623] [2022-04-27 12:50:14,724 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:14,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1322662275] [2022-04-27 12:50:14,724 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1322662275] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:14,724 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:14,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-27 12:50:14,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [497405783] [2022-04-27 12:50:14,724 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:14,724 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 47 [2022-04-27 12:50:14,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:14,725 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-27 12:50:14,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:14,878 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:50:14,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:14,878 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:50:14,879 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:14,879 INFO L87 Difference]: Start difference. First operand 214 states and 262 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-27 12:50:19,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:19,920 INFO L93 Difference]: Finished difference Result 253 states and 314 transitions. [2022-04-27 12:50:19,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 12:50:19,920 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 47 [2022-04-27 12:50:19,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:19,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-27 12:50:19,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-04-27 12:50:19,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-27 12:50:19,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-04-27 12:50:19,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 75 transitions. [2022-04-27 12:50:20,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:20,083 INFO L225 Difference]: With dead ends: 253 [2022-04-27 12:50:20,083 INFO L226 Difference]: Without dead ends: 229 [2022-04-27 12:50:20,084 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:50:20,084 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 192 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:20,085 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 152 Invalid, 192 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 12:50:20,085 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2022-04-27 12:50:20,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 210. [2022-04-27 12:50:20,160 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:20,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 12:50:20,160 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 12:50:20,161 INFO L87 Difference]: Start difference. First operand 229 states. Second operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 12:50:20,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:20,165 INFO L93 Difference]: Finished difference Result 229 states and 273 transitions. [2022-04-27 12:50:20,165 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 273 transitions. [2022-04-27 12:50:20,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:20,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:20,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 229 states. [2022-04-27 12:50:20,166 INFO L87 Difference]: Start difference. First operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) Second operand 229 states. [2022-04-27 12:50:20,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:20,170 INFO L93 Difference]: Finished difference Result 229 states and 273 transitions. [2022-04-27 12:50:20,170 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 273 transitions. [2022-04-27 12:50:20,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:20,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:20,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:20,170 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:20,171 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 210 states, 134 states have (on average 1.126865671641791) internal successors, (151), 142 states have internal predecessors, (151), 47 states have call successors, (47), 29 states have call predecessors, (47), 28 states have return successors, (42), 38 states have call predecessors, (42), 42 states have call successors, (42) [2022-04-27 12:50:20,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 240 transitions. [2022-04-27 12:50:20,174 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 240 transitions. Word has length 47 [2022-04-27 12:50:20,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:20,174 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 240 transitions. [2022-04-27 12:50:20,174 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-27 12:50:20,175 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 240 transitions. [2022-04-27 12:50:20,175 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-27 12:50:20,175 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:20,175 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 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] [2022-04-27 12:50:20,191 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 12:50:20,390 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,SelfDestructingSolverStorable9 [2022-04-27 12:50:20,391 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:20,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:20,391 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-27 12:50:20,391 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:20,391 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1079654820] [2022-04-27 12:50:20,391 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:20,392 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:20,400 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:20,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1132776859] [2022-04-27 12:50:20,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:20,401 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:20,401 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:20,407 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 12:50:20,434 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 12:50:20,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:20,484 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 12:50:20,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:20,493 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:20,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {7497#true} call ULTIMATE.init(); {7497#true} is VALID [2022-04-27 12:50:20,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {7497#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7497#true} {7497#true} #82#return; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {7497#true} call #t~ret7 := main(); {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {7497#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {7497#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7497#true} {7497#true} #64#return; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L272 TraceCheckUtils]: 11: Hoare triple {7497#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 12: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 13: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L290 TraceCheckUtils]: 14: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,825 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7497#true} {7497#true} #66#return; {7497#true} is VALID [2022-04-27 12:50:20,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {7497#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,826 INFO L290 TraceCheckUtils]: 17: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,827 INFO L272 TraceCheckUtils]: 19: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,827 INFO L290 TraceCheckUtils]: 21: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,827 INFO L290 TraceCheckUtils]: 22: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,827 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7497#true} {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,827 INFO L272 TraceCheckUtils]: 24: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L290 TraceCheckUtils]: 26: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7497#true} {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,828 INFO L272 TraceCheckUtils]: 29: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,829 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7497#true} {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,829 INFO L290 TraceCheckUtils]: 34: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,830 INFO L290 TraceCheckUtils]: 35: Hoare triple {7550#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,830 INFO L290 TraceCheckUtils]: 36: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,831 INFO L290 TraceCheckUtils]: 37: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,831 INFO L272 TraceCheckUtils]: 38: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,831 INFO L290 TraceCheckUtils]: 39: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,831 INFO L290 TraceCheckUtils]: 40: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,831 INFO L290 TraceCheckUtils]: 41: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,832 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7497#true} {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,832 INFO L272 TraceCheckUtils]: 43: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,832 INFO L290 TraceCheckUtils]: 44: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,832 INFO L290 TraceCheckUtils]: 45: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,832 INFO L290 TraceCheckUtils]: 46: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,832 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7497#true} {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,833 INFO L272 TraceCheckUtils]: 48: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:20,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:20,833 INFO L290 TraceCheckUtils]: 50: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:20,833 INFO L290 TraceCheckUtils]: 51: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:20,833 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7497#true} {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,834 INFO L290 TraceCheckUtils]: 53: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-27 12:50:20,834 INFO L290 TraceCheckUtils]: 54: Hoare triple {7608#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,835 INFO L290 TraceCheckUtils]: 55: Hoare triple {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,835 INFO L290 TraceCheckUtils]: 56: Hoare triple {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-27 12:50:20,836 INFO L272 TraceCheckUtils]: 57: Hoare triple {7666#(and (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (- 1) main_~r~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7676#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:50:20,836 INFO L290 TraceCheckUtils]: 58: Hoare triple {7676#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7680#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:50:20,836 INFO L290 TraceCheckUtils]: 59: Hoare triple {7680#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7498#false} is VALID [2022-04-27 12:50:20,836 INFO L290 TraceCheckUtils]: 60: Hoare triple {7498#false} assume !false; {7498#false} is VALID [2022-04-27 12:50:20,837 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-27 12:50:20,837 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:21,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {7498#false} assume !false; {7498#false} is VALID [2022-04-27 12:50:21,118 INFO L290 TraceCheckUtils]: 59: Hoare triple {7680#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7498#false} is VALID [2022-04-27 12:50:21,118 INFO L290 TraceCheckUtils]: 58: Hoare triple {7676#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7680#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 12:50:21,118 INFO L272 TraceCheckUtils]: 57: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7676#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 12:50:21,119 INFO L290 TraceCheckUtils]: 56: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,119 INFO L290 TraceCheckUtils]: 55: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,121 INFO L290 TraceCheckUtils]: 54: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,121 INFO L290 TraceCheckUtils]: 53: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,122 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,122 INFO L290 TraceCheckUtils]: 51: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,122 INFO L290 TraceCheckUtils]: 50: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,122 INFO L290 TraceCheckUtils]: 49: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,122 INFO L272 TraceCheckUtils]: 48: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,123 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,123 INFO L290 TraceCheckUtils]: 46: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,123 INFO L290 TraceCheckUtils]: 45: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,123 INFO L290 TraceCheckUtils]: 44: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,123 INFO L272 TraceCheckUtils]: 43: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,123 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,124 INFO L290 TraceCheckUtils]: 41: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,124 INFO L290 TraceCheckUtils]: 40: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,124 INFO L290 TraceCheckUtils]: 39: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,124 INFO L272 TraceCheckUtils]: 38: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,124 INFO L290 TraceCheckUtils]: 37: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,124 INFO L290 TraceCheckUtils]: 36: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,126 INFO L290 TraceCheckUtils]: 35: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,127 INFO L290 TraceCheckUtils]: 34: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,127 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,127 INFO L290 TraceCheckUtils]: 32: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,127 INFO L290 TraceCheckUtils]: 31: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,127 INFO L290 TraceCheckUtils]: 30: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,127 INFO L272 TraceCheckUtils]: 29: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,128 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,128 INFO L290 TraceCheckUtils]: 25: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,128 INFO L272 TraceCheckUtils]: 24: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,129 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7497#true} {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,129 INFO L272 TraceCheckUtils]: 19: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 20);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 16: Hoare triple {7497#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:21,130 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7497#true} {7497#true} #66#return; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 14: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 13: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 12: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L272 TraceCheckUtils]: 11: Hoare triple {7497#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7497#true} {7497#true} #64#return; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L272 TraceCheckUtils]: 6: Hoare triple {7497#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7497#true} is VALID [2022-04-27 12:50:21,130 INFO L290 TraceCheckUtils]: 5: Hoare triple {7497#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L272 TraceCheckUtils]: 4: Hoare triple {7497#true} call #t~ret7 := main(); {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7497#true} {7497#true} #82#return; {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L290 TraceCheckUtils]: 2: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {7497#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L272 TraceCheckUtils]: 0: Hoare triple {7497#true} call ULTIMATE.init(); {7497#true} is VALID [2022-04-27 12:50:21,131 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-27 12:50:21,131 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:21,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1079654820] [2022-04-27 12:50:21,131 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:21,131 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1132776859] [2022-04-27 12:50:21,131 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1132776859] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:50:21,131 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:50:21,132 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-27 12:50:21,132 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [845518774] [2022-04-27 12:50:21,132 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:50:21,133 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-27 12:50:21,133 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:21,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:50:21,157 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:21,157 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:50:21,157 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:21,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:50:21,158 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:21,158 INFO L87 Difference]: Start difference. First operand 210 states and 240 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:50:21,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:21,379 INFO L93 Difference]: Finished difference Result 216 states and 245 transitions. [2022-04-27 12:50:21,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:50:21,379 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-27 12:50:21,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:21,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:50:21,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-27 12:50:21,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:50:21,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-27 12:50:21,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-27 12:50:21,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:21,422 INFO L225 Difference]: With dead ends: 216 [2022-04-27 12:50:21,422 INFO L226 Difference]: Without dead ends: 192 [2022-04-27 12:50:21,422 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:50:21,422 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 32 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 32 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:21,423 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 101 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 32 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 12:50:21,423 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 192 states. [2022-04-27 12:50:21,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 192 to 189. [2022-04-27 12:50:21,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:21,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 192 states. Second operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 12:50:21,482 INFO L74 IsIncluded]: Start isIncluded. First operand 192 states. Second operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 12:50:21,482 INFO L87 Difference]: Start difference. First operand 192 states. Second operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 12:50:21,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:21,485 INFO L93 Difference]: Finished difference Result 192 states and 216 transitions. [2022-04-27 12:50:21,485 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 216 transitions. [2022-04-27 12:50:21,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:21,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:21,486 INFO L74 IsIncluded]: Start isIncluded. First operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 192 states. [2022-04-27 12:50:21,486 INFO L87 Difference]: Start difference. First operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 192 states. [2022-04-27 12:50:21,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:21,489 INFO L93 Difference]: Finished difference Result 192 states and 216 transitions. [2022-04-27 12:50:21,489 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 216 transitions. [2022-04-27 12:50:21,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:21,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:21,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:21,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:21,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 189 states, 125 states have (on average 1.112) internal successors, (139), 129 states have internal predecessors, (139), 38 states have call successors, (38), 26 states have call predecessors, (38), 25 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 12:50:21,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 189 states to 189 states and 212 transitions. [2022-04-27 12:50:21,493 INFO L78 Accepts]: Start accepts. Automaton has 189 states and 212 transitions. Word has length 61 [2022-04-27 12:50:21,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:21,493 INFO L495 AbstractCegarLoop]: Abstraction has 189 states and 212 transitions. [2022-04-27 12:50:21,493 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 12:50:21,493 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 212 transitions. [2022-04-27 12:50:21,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-27 12:50:21,494 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:21,494 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:21,510 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-27 12:50:21,707 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:21,707 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:21,708 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:21,708 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 2 times [2022-04-27 12:50:21,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:21,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1930815721] [2022-04-27 12:50:21,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:21,708 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:21,721 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:21,721 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1086092670] [2022-04-27 12:50:21,721 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:50:21,722 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:21,722 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:21,728 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 12:50:21,762 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 12:50:21,780 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:50:21,780 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:50:21,781 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 12:50:21,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:21,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:22,204 INFO L272 TraceCheckUtils]: 0: Hoare triple {8832#true} call ULTIMATE.init(); {8832#true} is VALID [2022-04-27 12:50:22,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {8832#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,205 INFO L290 TraceCheckUtils]: 2: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8840#(<= ~counter~0 0)} {8832#true} #82#return; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,205 INFO L272 TraceCheckUtils]: 4: Hoare triple {8840#(<= ~counter~0 0)} call #t~ret7 := main(); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,206 INFO L290 TraceCheckUtils]: 5: Hoare triple {8840#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,206 INFO L272 TraceCheckUtils]: 6: Hoare triple {8840#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,206 INFO L290 TraceCheckUtils]: 7: Hoare triple {8840#(<= ~counter~0 0)} ~cond := #in~cond; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,207 INFO L290 TraceCheckUtils]: 8: Hoare triple {8840#(<= ~counter~0 0)} assume !(0 == ~cond); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,207 INFO L290 TraceCheckUtils]: 9: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,207 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8840#(<= ~counter~0 0)} {8840#(<= ~counter~0 0)} #64#return; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,208 INFO L272 TraceCheckUtils]: 11: Hoare triple {8840#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,208 INFO L290 TraceCheckUtils]: 12: Hoare triple {8840#(<= ~counter~0 0)} ~cond := #in~cond; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,208 INFO L290 TraceCheckUtils]: 13: Hoare triple {8840#(<= ~counter~0 0)} assume !(0 == ~cond); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,209 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8840#(<= ~counter~0 0)} {8840#(<= ~counter~0 0)} #66#return; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,209 INFO L290 TraceCheckUtils]: 16: Hoare triple {8840#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:22,210 INFO L290 TraceCheckUtils]: 17: Hoare triple {8840#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,210 INFO L290 TraceCheckUtils]: 18: Hoare triple {8889#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,211 INFO L272 TraceCheckUtils]: 19: Hoare triple {8889#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,211 INFO L290 TraceCheckUtils]: 21: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,211 INFO L290 TraceCheckUtils]: 22: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,212 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8889#(<= ~counter~0 1)} {8889#(<= ~counter~0 1)} #68#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,213 INFO L272 TraceCheckUtils]: 24: Hoare triple {8889#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,213 INFO L290 TraceCheckUtils]: 25: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,213 INFO L290 TraceCheckUtils]: 26: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,213 INFO L290 TraceCheckUtils]: 27: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,214 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8889#(<= ~counter~0 1)} {8889#(<= ~counter~0 1)} #70#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,214 INFO L272 TraceCheckUtils]: 29: Hoare triple {8889#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,215 INFO L290 TraceCheckUtils]: 30: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,215 INFO L290 TraceCheckUtils]: 31: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,215 INFO L290 TraceCheckUtils]: 32: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,216 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8889#(<= ~counter~0 1)} {8889#(<= ~counter~0 1)} #72#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,216 INFO L290 TraceCheckUtils]: 34: Hoare triple {8889#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,216 INFO L290 TraceCheckUtils]: 35: Hoare triple {8889#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:22,217 INFO L290 TraceCheckUtils]: 36: Hoare triple {8889#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,217 INFO L290 TraceCheckUtils]: 37: Hoare triple {8947#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,218 INFO L272 TraceCheckUtils]: 38: Hoare triple {8947#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,218 INFO L290 TraceCheckUtils]: 39: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,218 INFO L290 TraceCheckUtils]: 40: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,218 INFO L290 TraceCheckUtils]: 41: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,219 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8947#(<= ~counter~0 2)} {8947#(<= ~counter~0 2)} #68#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,219 INFO L272 TraceCheckUtils]: 43: Hoare triple {8947#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,220 INFO L290 TraceCheckUtils]: 45: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,220 INFO L290 TraceCheckUtils]: 46: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,221 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8947#(<= ~counter~0 2)} {8947#(<= ~counter~0 2)} #70#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,221 INFO L272 TraceCheckUtils]: 48: Hoare triple {8947#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,222 INFO L290 TraceCheckUtils]: 49: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,222 INFO L290 TraceCheckUtils]: 50: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,222 INFO L290 TraceCheckUtils]: 51: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,223 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8947#(<= ~counter~0 2)} {8947#(<= ~counter~0 2)} #72#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,223 INFO L290 TraceCheckUtils]: 53: Hoare triple {8947#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,223 INFO L290 TraceCheckUtils]: 54: Hoare triple {8947#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:22,224 INFO L290 TraceCheckUtils]: 55: Hoare triple {8947#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,224 INFO L290 TraceCheckUtils]: 56: Hoare triple {9005#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,224 INFO L272 TraceCheckUtils]: 57: Hoare triple {9005#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,225 INFO L290 TraceCheckUtils]: 58: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,225 INFO L290 TraceCheckUtils]: 59: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,225 INFO L290 TraceCheckUtils]: 60: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,226 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9005#(<= ~counter~0 3)} {9005#(<= ~counter~0 3)} #68#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,226 INFO L272 TraceCheckUtils]: 62: Hoare triple {9005#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,227 INFO L290 TraceCheckUtils]: 63: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,227 INFO L290 TraceCheckUtils]: 64: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,227 INFO L290 TraceCheckUtils]: 65: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,228 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {9005#(<= ~counter~0 3)} {9005#(<= ~counter~0 3)} #70#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,228 INFO L272 TraceCheckUtils]: 67: Hoare triple {9005#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,228 INFO L290 TraceCheckUtils]: 68: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,229 INFO L290 TraceCheckUtils]: 69: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,229 INFO L290 TraceCheckUtils]: 70: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,230 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {9005#(<= ~counter~0 3)} {9005#(<= ~counter~0 3)} #72#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,230 INFO L290 TraceCheckUtils]: 72: Hoare triple {9005#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,230 INFO L290 TraceCheckUtils]: 73: Hoare triple {9005#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:22,230 INFO L290 TraceCheckUtils]: 74: Hoare triple {9005#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,231 INFO L290 TraceCheckUtils]: 75: Hoare triple {9063#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,231 INFO L272 TraceCheckUtils]: 76: Hoare triple {9063#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,232 INFO L290 TraceCheckUtils]: 77: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,232 INFO L290 TraceCheckUtils]: 78: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,232 INFO L290 TraceCheckUtils]: 79: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,233 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9063#(<= ~counter~0 4)} {9063#(<= ~counter~0 4)} #68#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,233 INFO L272 TraceCheckUtils]: 81: Hoare triple {9063#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,233 INFO L290 TraceCheckUtils]: 82: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,234 INFO L290 TraceCheckUtils]: 83: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,234 INFO L290 TraceCheckUtils]: 84: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,234 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9063#(<= ~counter~0 4)} {9063#(<= ~counter~0 4)} #70#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,235 INFO L272 TraceCheckUtils]: 86: Hoare triple {9063#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,235 INFO L290 TraceCheckUtils]: 87: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,236 INFO L290 TraceCheckUtils]: 88: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,236 INFO L290 TraceCheckUtils]: 89: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,236 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {9063#(<= ~counter~0 4)} {9063#(<= ~counter~0 4)} #72#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,237 INFO L290 TraceCheckUtils]: 91: Hoare triple {9063#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,237 INFO L290 TraceCheckUtils]: 92: Hoare triple {9063#(<= ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:22,237 INFO L290 TraceCheckUtils]: 93: Hoare triple {9063#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9121#(<= |main_#t~post6| 4)} is VALID [2022-04-27 12:50:22,237 INFO L290 TraceCheckUtils]: 94: Hoare triple {9121#(<= |main_#t~post6| 4)} assume !(#t~post6 < 20);havoc #t~post6; {8833#false} is VALID [2022-04-27 12:50:22,238 INFO L272 TraceCheckUtils]: 95: Hoare triple {8833#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {8833#false} is VALID [2022-04-27 12:50:22,238 INFO L290 TraceCheckUtils]: 96: Hoare triple {8833#false} ~cond := #in~cond; {8833#false} is VALID [2022-04-27 12:50:22,238 INFO L290 TraceCheckUtils]: 97: Hoare triple {8833#false} assume 0 == ~cond; {8833#false} is VALID [2022-04-27 12:50:22,238 INFO L290 TraceCheckUtils]: 98: Hoare triple {8833#false} assume !false; {8833#false} is VALID [2022-04-27 12:50:22,238 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 12:50:22,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:22,654 INFO L290 TraceCheckUtils]: 98: Hoare triple {8833#false} assume !false; {8833#false} is VALID [2022-04-27 12:50:22,654 INFO L290 TraceCheckUtils]: 97: Hoare triple {8833#false} assume 0 == ~cond; {8833#false} is VALID [2022-04-27 12:50:22,654 INFO L290 TraceCheckUtils]: 96: Hoare triple {8833#false} ~cond := #in~cond; {8833#false} is VALID [2022-04-27 12:50:22,654 INFO L272 TraceCheckUtils]: 95: Hoare triple {8833#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {8833#false} is VALID [2022-04-27 12:50:22,654 INFO L290 TraceCheckUtils]: 94: Hoare triple {9149#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {8833#false} is VALID [2022-04-27 12:50:22,655 INFO L290 TraceCheckUtils]: 93: Hoare triple {9153#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9149#(< |main_#t~post6| 20)} is VALID [2022-04-27 12:50:22,655 INFO L290 TraceCheckUtils]: 92: Hoare triple {9153#(< ~counter~0 20)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,655 INFO L290 TraceCheckUtils]: 91: Hoare triple {9153#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,656 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {8832#true} {9153#(< ~counter~0 20)} #72#return; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,656 INFO L290 TraceCheckUtils]: 89: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,656 INFO L290 TraceCheckUtils]: 88: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,656 INFO L290 TraceCheckUtils]: 87: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,656 INFO L272 TraceCheckUtils]: 86: Hoare triple {9153#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,657 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {8832#true} {9153#(< ~counter~0 20)} #70#return; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,657 INFO L290 TraceCheckUtils]: 84: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,657 INFO L290 TraceCheckUtils]: 83: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,657 INFO L290 TraceCheckUtils]: 82: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,657 INFO L272 TraceCheckUtils]: 81: Hoare triple {9153#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,658 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {8832#true} {9153#(< ~counter~0 20)} #68#return; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,658 INFO L290 TraceCheckUtils]: 79: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,658 INFO L290 TraceCheckUtils]: 78: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,658 INFO L290 TraceCheckUtils]: 77: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,658 INFO L272 TraceCheckUtils]: 76: Hoare triple {9153#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,658 INFO L290 TraceCheckUtils]: 75: Hoare triple {9153#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,659 INFO L290 TraceCheckUtils]: 74: Hoare triple {9211#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9153#(< ~counter~0 20)} is VALID [2022-04-27 12:50:22,659 INFO L290 TraceCheckUtils]: 73: Hoare triple {9211#(< ~counter~0 19)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,659 INFO L290 TraceCheckUtils]: 72: Hoare triple {9211#(< ~counter~0 19)} assume !!(~a~0 != ~b~0); {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,660 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8832#true} {9211#(< ~counter~0 19)} #72#return; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,660 INFO L290 TraceCheckUtils]: 70: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,660 INFO L290 TraceCheckUtils]: 69: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,660 INFO L290 TraceCheckUtils]: 68: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,660 INFO L272 TraceCheckUtils]: 67: Hoare triple {9211#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8832#true} {9211#(< ~counter~0 19)} #70#return; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,661 INFO L290 TraceCheckUtils]: 65: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L290 TraceCheckUtils]: 64: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L290 TraceCheckUtils]: 63: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L272 TraceCheckUtils]: 62: Hoare triple {9211#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8832#true} {9211#(< ~counter~0 19)} #68#return; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,661 INFO L290 TraceCheckUtils]: 60: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,661 INFO L290 TraceCheckUtils]: 59: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,662 INFO L290 TraceCheckUtils]: 58: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,662 INFO L272 TraceCheckUtils]: 57: Hoare triple {9211#(< ~counter~0 19)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,662 INFO L290 TraceCheckUtils]: 56: Hoare triple {9211#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,662 INFO L290 TraceCheckUtils]: 55: Hoare triple {9269#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9211#(< ~counter~0 19)} is VALID [2022-04-27 12:50:22,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {9269#(< ~counter~0 18)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {9269#(< ~counter~0 18)} assume !!(~a~0 != ~b~0); {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,663 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8832#true} {9269#(< ~counter~0 18)} #72#return; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,663 INFO L290 TraceCheckUtils]: 51: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,663 INFO L290 TraceCheckUtils]: 50: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L290 TraceCheckUtils]: 49: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L272 TraceCheckUtils]: 48: Hoare triple {9269#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8832#true} {9269#(< ~counter~0 18)} #70#return; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,664 INFO L290 TraceCheckUtils]: 46: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L290 TraceCheckUtils]: 45: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L290 TraceCheckUtils]: 44: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,664 INFO L272 TraceCheckUtils]: 43: Hoare triple {9269#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,686 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8832#true} {9269#(< ~counter~0 18)} #68#return; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,686 INFO L290 TraceCheckUtils]: 41: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,686 INFO L290 TraceCheckUtils]: 40: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,686 INFO L272 TraceCheckUtils]: 38: Hoare triple {9269#(< ~counter~0 18)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {9269#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,687 INFO L290 TraceCheckUtils]: 36: Hoare triple {9327#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9269#(< ~counter~0 18)} is VALID [2022-04-27 12:50:22,687 INFO L290 TraceCheckUtils]: 35: Hoare triple {9327#(< ~counter~0 17)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,688 INFO L290 TraceCheckUtils]: 34: Hoare triple {9327#(< ~counter~0 17)} assume !!(~a~0 != ~b~0); {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,688 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8832#true} {9327#(< ~counter~0 17)} #72#return; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,688 INFO L290 TraceCheckUtils]: 32: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,688 INFO L290 TraceCheckUtils]: 31: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,688 INFO L290 TraceCheckUtils]: 30: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,688 INFO L272 TraceCheckUtils]: 29: Hoare triple {9327#(< ~counter~0 17)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,689 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8832#true} {9327#(< ~counter~0 17)} #70#return; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,689 INFO L290 TraceCheckUtils]: 27: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,689 INFO L290 TraceCheckUtils]: 26: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,689 INFO L272 TraceCheckUtils]: 24: Hoare triple {9327#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,690 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8832#true} {9327#(< ~counter~0 17)} #68#return; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,690 INFO L290 TraceCheckUtils]: 22: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,690 INFO L290 TraceCheckUtils]: 21: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,690 INFO L290 TraceCheckUtils]: 20: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,690 INFO L272 TraceCheckUtils]: 19: Hoare triple {9327#(< ~counter~0 17)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,690 INFO L290 TraceCheckUtils]: 18: Hoare triple {9327#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {9385#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9327#(< ~counter~0 17)} is VALID [2022-04-27 12:50:22,691 INFO L290 TraceCheckUtils]: 16: Hoare triple {9385#(< ~counter~0 16)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,691 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8832#true} {9385#(< ~counter~0 16)} #66#return; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,691 INFO L290 TraceCheckUtils]: 14: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 13: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 12: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L272 TraceCheckUtils]: 11: Hoare triple {9385#(< ~counter~0 16)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8832#true} {9385#(< ~counter~0 16)} #64#return; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 9: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 8: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 7: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L272 TraceCheckUtils]: 6: Hoare triple {9385#(< ~counter~0 16)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:22,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {9385#(< ~counter~0 16)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {9385#(< ~counter~0 16)} call #t~ret7 := main(); {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9385#(< ~counter~0 16)} {8832#true} #82#return; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {9385#(< ~counter~0 16)} assume true; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {8832#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {9385#(< ~counter~0 16)} is VALID [2022-04-27 12:50:22,694 INFO L272 TraceCheckUtils]: 0: Hoare triple {8832#true} call ULTIMATE.init(); {8832#true} is VALID [2022-04-27 12:50:22,694 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-27 12:50:22,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:22,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1930815721] [2022-04-27 12:50:22,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:22,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086092670] [2022-04-27 12:50:22,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086092670] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:22,694 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:22,695 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-27 12:50:22,695 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1162913660] [2022-04-27 12:50:22,695 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:22,695 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) Word has length 99 [2022-04-27 12:50:22,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:22,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) [2022-04-27 12:50:22,777 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:22,777 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-27 12:50:22,777 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:22,777 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-27 12:50:22,777 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-27 12:50:22,777 INFO L87 Difference]: Start difference. First operand 189 states and 212 transitions. Second operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) [2022-04-27 12:50:23,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:23,389 INFO L93 Difference]: Finished difference Result 516 states and 605 transitions. [2022-04-27 12:50:23,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2022-04-27 12:50:23,389 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) Word has length 99 [2022-04-27 12:50:23,389 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:23,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) [2022-04-27 12:50:23,392 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 176 transitions. [2022-04-27 12:50:23,392 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) [2022-04-27 12:50:23,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 176 transitions. [2022-04-27 12:50:23,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 22 states and 176 transitions. [2022-04-27 12:50:23,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:23,529 INFO L225 Difference]: With dead ends: 516 [2022-04-27 12:50:23,529 INFO L226 Difference]: Without dead ends: 507 [2022-04-27 12:50:23,529 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 206 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=184, Invalid=322, Unknown=0, NotChecked=0, Total=506 [2022-04-27 12:50:23,530 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 88 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 101 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 88 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 101 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:23,530 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [88 Valid, 220 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 101 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:50:23,530 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 507 states. [2022-04-27 12:50:23,756 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 507 to 507. [2022-04-27 12:50:23,756 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:23,757 INFO L82 GeneralOperation]: Start isEquivalent. First operand 507 states. Second operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 12:50:23,758 INFO L74 IsIncluded]: Start isIncluded. First operand 507 states. Second operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 12:50:23,758 INFO L87 Difference]: Start difference. First operand 507 states. Second operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 12:50:23,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:23,768 INFO L93 Difference]: Finished difference Result 507 states and 572 transitions. [2022-04-27 12:50:23,769 INFO L276 IsEmpty]: Start isEmpty. Operand 507 states and 572 transitions. [2022-04-27 12:50:23,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:23,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:23,770 INFO L74 IsIncluded]: Start isIncluded. First operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) Second operand 507 states. [2022-04-27 12:50:23,770 INFO L87 Difference]: Start difference. First operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) Second operand 507 states. [2022-04-27 12:50:23,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:23,781 INFO L93 Difference]: Finished difference Result 507 states and 572 transitions. [2022-04-27 12:50:23,781 INFO L276 IsEmpty]: Start isEmpty. Operand 507 states and 572 transitions. [2022-04-27 12:50:23,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:23,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:23,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:23,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:23,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 507 states, 335 states have (on average 1.0955223880597016) internal successors, (367), 345 states have internal predecessors, (367), 104 states have call successors, (104), 68 states have call predecessors, (104), 67 states have return successors, (101), 93 states have call predecessors, (101), 101 states have call successors, (101) [2022-04-27 12:50:23,795 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 507 states to 507 states and 572 transitions. [2022-04-27 12:50:23,795 INFO L78 Accepts]: Start accepts. Automaton has 507 states and 572 transitions. Word has length 99 [2022-04-27 12:50:23,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:23,795 INFO L495 AbstractCegarLoop]: Abstraction has 507 states and 572 transitions. [2022-04-27 12:50:23,795 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 4.857142857142857) internal successors, (68), 14 states have internal predecessors, (68), 12 states have call successors, (32), 8 states have call predecessors, (32), 7 states have return successors, (30), 10 states have call predecessors, (30), 11 states have call successors, (30) [2022-04-27 12:50:23,795 INFO L276 IsEmpty]: Start isEmpty. Operand 507 states and 572 transitions. [2022-04-27 12:50:23,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 214 [2022-04-27 12:50:23,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:23,797 INFO L195 NwaCegarLoop]: trace histogram [31, 30, 30, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:23,816 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 12:50:24,012 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,SelfDestructingSolverStorable11 [2022-04-27 12:50:24,013 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:24,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:24,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1980311871, now seen corresponding path program 3 times [2022-04-27 12:50:24,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:24,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1315691023] [2022-04-27 12:50:24,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:24,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:24,036 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:24,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [511766154] [2022-04-27 12:50:24,037 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:50:24,037 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:24,037 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:24,042 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 12:50:24,042 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 12:50:24,143 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 20 check-sat command(s) [2022-04-27 12:50:24,144 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:50:24,145 INFO L263 TraceCheckSpWp]: Trace formula consists of 472 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 12:50:24,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:24,177 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:25,079 INFO L272 TraceCheckUtils]: 0: Hoare triple {11920#true} call ULTIMATE.init(); {11920#true} is VALID [2022-04-27 12:50:25,080 INFO L290 TraceCheckUtils]: 1: Hoare triple {11920#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,080 INFO L290 TraceCheckUtils]: 2: Hoare triple {11928#(<= ~counter~0 0)} assume true; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,080 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11928#(<= ~counter~0 0)} {11920#true} #82#return; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,081 INFO L272 TraceCheckUtils]: 4: Hoare triple {11928#(<= ~counter~0 0)} call #t~ret7 := main(); {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,081 INFO L290 TraceCheckUtils]: 5: Hoare triple {11928#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,081 INFO L272 TraceCheckUtils]: 6: Hoare triple {11928#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,081 INFO L290 TraceCheckUtils]: 7: Hoare triple {11928#(<= ~counter~0 0)} ~cond := #in~cond; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,081 INFO L290 TraceCheckUtils]: 8: Hoare triple {11928#(<= ~counter~0 0)} assume !(0 == ~cond); {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,082 INFO L290 TraceCheckUtils]: 9: Hoare triple {11928#(<= ~counter~0 0)} assume true; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,082 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11928#(<= ~counter~0 0)} {11928#(<= ~counter~0 0)} #64#return; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,082 INFO L272 TraceCheckUtils]: 11: Hoare triple {11928#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,082 INFO L290 TraceCheckUtils]: 12: Hoare triple {11928#(<= ~counter~0 0)} ~cond := #in~cond; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,083 INFO L290 TraceCheckUtils]: 13: Hoare triple {11928#(<= ~counter~0 0)} assume !(0 == ~cond); {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,083 INFO L290 TraceCheckUtils]: 14: Hoare triple {11928#(<= ~counter~0 0)} assume true; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,083 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11928#(<= ~counter~0 0)} {11928#(<= ~counter~0 0)} #66#return; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,083 INFO L290 TraceCheckUtils]: 16: Hoare triple {11928#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11928#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:25,084 INFO L290 TraceCheckUtils]: 17: Hoare triple {11928#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,084 INFO L290 TraceCheckUtils]: 18: Hoare triple {11977#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,084 INFO L272 TraceCheckUtils]: 19: Hoare triple {11977#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,085 INFO L290 TraceCheckUtils]: 20: Hoare triple {11977#(<= ~counter~0 1)} ~cond := #in~cond; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {11977#(<= ~counter~0 1)} assume !(0 == ~cond); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {11977#(<= ~counter~0 1)} assume true; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,085 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11977#(<= ~counter~0 1)} {11977#(<= ~counter~0 1)} #68#return; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,086 INFO L272 TraceCheckUtils]: 24: Hoare triple {11977#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {11977#(<= ~counter~0 1)} ~cond := #in~cond; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {11977#(<= ~counter~0 1)} assume !(0 == ~cond); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {11977#(<= ~counter~0 1)} assume true; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,087 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11977#(<= ~counter~0 1)} {11977#(<= ~counter~0 1)} #70#return; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,087 INFO L272 TraceCheckUtils]: 29: Hoare triple {11977#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,087 INFO L290 TraceCheckUtils]: 30: Hoare triple {11977#(<= ~counter~0 1)} ~cond := #in~cond; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,087 INFO L290 TraceCheckUtils]: 31: Hoare triple {11977#(<= ~counter~0 1)} assume !(0 == ~cond); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,088 INFO L290 TraceCheckUtils]: 32: Hoare triple {11977#(<= ~counter~0 1)} assume true; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,088 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11977#(<= ~counter~0 1)} {11977#(<= ~counter~0 1)} #72#return; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,088 INFO L290 TraceCheckUtils]: 34: Hoare triple {11977#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,088 INFO L290 TraceCheckUtils]: 35: Hoare triple {11977#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {11977#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:25,089 INFO L290 TraceCheckUtils]: 36: Hoare triple {11977#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,101 INFO L290 TraceCheckUtils]: 37: Hoare triple {12035#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,102 INFO L272 TraceCheckUtils]: 38: Hoare triple {12035#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,102 INFO L290 TraceCheckUtils]: 39: Hoare triple {12035#(<= ~counter~0 2)} ~cond := #in~cond; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,102 INFO L290 TraceCheckUtils]: 40: Hoare triple {12035#(<= ~counter~0 2)} assume !(0 == ~cond); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,102 INFO L290 TraceCheckUtils]: 41: Hoare triple {12035#(<= ~counter~0 2)} assume true; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,103 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {12035#(<= ~counter~0 2)} {12035#(<= ~counter~0 2)} #68#return; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,103 INFO L272 TraceCheckUtils]: 43: Hoare triple {12035#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,103 INFO L290 TraceCheckUtils]: 44: Hoare triple {12035#(<= ~counter~0 2)} ~cond := #in~cond; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,104 INFO L290 TraceCheckUtils]: 45: Hoare triple {12035#(<= ~counter~0 2)} assume !(0 == ~cond); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,104 INFO L290 TraceCheckUtils]: 46: Hoare triple {12035#(<= ~counter~0 2)} assume true; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,104 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12035#(<= ~counter~0 2)} {12035#(<= ~counter~0 2)} #70#return; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,105 INFO L272 TraceCheckUtils]: 48: Hoare triple {12035#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,105 INFO L290 TraceCheckUtils]: 49: Hoare triple {12035#(<= ~counter~0 2)} ~cond := #in~cond; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,105 INFO L290 TraceCheckUtils]: 50: Hoare triple {12035#(<= ~counter~0 2)} assume !(0 == ~cond); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,105 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(<= ~counter~0 2)} assume true; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,106 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(<= ~counter~0 2)} {12035#(<= ~counter~0 2)} #72#return; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {12035#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,106 INFO L290 TraceCheckUtils]: 54: Hoare triple {12035#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12035#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:25,107 INFO L290 TraceCheckUtils]: 55: Hoare triple {12035#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,107 INFO L290 TraceCheckUtils]: 56: Hoare triple {12093#(<= ~counter~0 3)} assume !!(#t~post6 < 20);havoc #t~post6; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,107 INFO L272 TraceCheckUtils]: 57: Hoare triple {12093#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,108 INFO L290 TraceCheckUtils]: 58: Hoare triple {12093#(<= ~counter~0 3)} ~cond := #in~cond; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,108 INFO L290 TraceCheckUtils]: 59: Hoare triple {12093#(<= ~counter~0 3)} assume !(0 == ~cond); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,108 INFO L290 TraceCheckUtils]: 60: Hoare triple {12093#(<= ~counter~0 3)} assume true; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,109 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {12093#(<= ~counter~0 3)} {12093#(<= ~counter~0 3)} #68#return; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,109 INFO L272 TraceCheckUtils]: 62: Hoare triple {12093#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,109 INFO L290 TraceCheckUtils]: 63: Hoare triple {12093#(<= ~counter~0 3)} ~cond := #in~cond; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,109 INFO L290 TraceCheckUtils]: 64: Hoare triple {12093#(<= ~counter~0 3)} assume !(0 == ~cond); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {12093#(<= ~counter~0 3)} assume true; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,110 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {12093#(<= ~counter~0 3)} {12093#(<= ~counter~0 3)} #70#return; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,110 INFO L272 TraceCheckUtils]: 67: Hoare triple {12093#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,111 INFO L290 TraceCheckUtils]: 68: Hoare triple {12093#(<= ~counter~0 3)} ~cond := #in~cond; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,111 INFO L290 TraceCheckUtils]: 69: Hoare triple {12093#(<= ~counter~0 3)} assume !(0 == ~cond); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,111 INFO L290 TraceCheckUtils]: 70: Hoare triple {12093#(<= ~counter~0 3)} assume true; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,112 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {12093#(<= ~counter~0 3)} {12093#(<= ~counter~0 3)} #72#return; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,112 INFO L290 TraceCheckUtils]: 72: Hoare triple {12093#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,112 INFO L290 TraceCheckUtils]: 73: Hoare triple {12093#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12093#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:25,113 INFO L290 TraceCheckUtils]: 74: Hoare triple {12093#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,113 INFO L290 TraceCheckUtils]: 75: Hoare triple {12151#(<= ~counter~0 4)} assume !!(#t~post6 < 20);havoc #t~post6; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,113 INFO L272 TraceCheckUtils]: 76: Hoare triple {12151#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,114 INFO L290 TraceCheckUtils]: 77: Hoare triple {12151#(<= ~counter~0 4)} ~cond := #in~cond; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,114 INFO L290 TraceCheckUtils]: 78: Hoare triple {12151#(<= ~counter~0 4)} assume !(0 == ~cond); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,114 INFO L290 TraceCheckUtils]: 79: Hoare triple {12151#(<= ~counter~0 4)} assume true; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,114 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {12151#(<= ~counter~0 4)} {12151#(<= ~counter~0 4)} #68#return; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,115 INFO L272 TraceCheckUtils]: 81: Hoare triple {12151#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,115 INFO L290 TraceCheckUtils]: 82: Hoare triple {12151#(<= ~counter~0 4)} ~cond := #in~cond; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,115 INFO L290 TraceCheckUtils]: 83: Hoare triple {12151#(<= ~counter~0 4)} assume !(0 == ~cond); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,116 INFO L290 TraceCheckUtils]: 84: Hoare triple {12151#(<= ~counter~0 4)} assume true; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,116 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {12151#(<= ~counter~0 4)} {12151#(<= ~counter~0 4)} #70#return; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,116 INFO L272 TraceCheckUtils]: 86: Hoare triple {12151#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,117 INFO L290 TraceCheckUtils]: 87: Hoare triple {12151#(<= ~counter~0 4)} ~cond := #in~cond; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,117 INFO L290 TraceCheckUtils]: 88: Hoare triple {12151#(<= ~counter~0 4)} assume !(0 == ~cond); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,117 INFO L290 TraceCheckUtils]: 89: Hoare triple {12151#(<= ~counter~0 4)} assume true; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,118 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {12151#(<= ~counter~0 4)} {12151#(<= ~counter~0 4)} #72#return; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,118 INFO L290 TraceCheckUtils]: 91: Hoare triple {12151#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,118 INFO L290 TraceCheckUtils]: 92: Hoare triple {12151#(<= ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12151#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:25,119 INFO L290 TraceCheckUtils]: 93: Hoare triple {12151#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,119 INFO L290 TraceCheckUtils]: 94: Hoare triple {12209#(<= ~counter~0 5)} assume !!(#t~post6 < 20);havoc #t~post6; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,119 INFO L272 TraceCheckUtils]: 95: Hoare triple {12209#(<= ~counter~0 5)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,119 INFO L290 TraceCheckUtils]: 96: Hoare triple {12209#(<= ~counter~0 5)} ~cond := #in~cond; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,120 INFO L290 TraceCheckUtils]: 97: Hoare triple {12209#(<= ~counter~0 5)} assume !(0 == ~cond); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,120 INFO L290 TraceCheckUtils]: 98: Hoare triple {12209#(<= ~counter~0 5)} assume true; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,120 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12209#(<= ~counter~0 5)} {12209#(<= ~counter~0 5)} #68#return; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,121 INFO L272 TraceCheckUtils]: 100: Hoare triple {12209#(<= ~counter~0 5)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,121 INFO L290 TraceCheckUtils]: 101: Hoare triple {12209#(<= ~counter~0 5)} ~cond := #in~cond; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,121 INFO L290 TraceCheckUtils]: 102: Hoare triple {12209#(<= ~counter~0 5)} assume !(0 == ~cond); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,121 INFO L290 TraceCheckUtils]: 103: Hoare triple {12209#(<= ~counter~0 5)} assume true; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,122 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12209#(<= ~counter~0 5)} {12209#(<= ~counter~0 5)} #70#return; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,122 INFO L272 TraceCheckUtils]: 105: Hoare triple {12209#(<= ~counter~0 5)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,123 INFO L290 TraceCheckUtils]: 106: Hoare triple {12209#(<= ~counter~0 5)} ~cond := #in~cond; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,123 INFO L290 TraceCheckUtils]: 107: Hoare triple {12209#(<= ~counter~0 5)} assume !(0 == ~cond); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,123 INFO L290 TraceCheckUtils]: 108: Hoare triple {12209#(<= ~counter~0 5)} assume true; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,123 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {12209#(<= ~counter~0 5)} {12209#(<= ~counter~0 5)} #72#return; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,124 INFO L290 TraceCheckUtils]: 110: Hoare triple {12209#(<= ~counter~0 5)} assume !!(~a~0 != ~b~0); {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,124 INFO L290 TraceCheckUtils]: 111: Hoare triple {12209#(<= ~counter~0 5)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12209#(<= ~counter~0 5)} is VALID [2022-04-27 12:50:25,124 INFO L290 TraceCheckUtils]: 112: Hoare triple {12209#(<= ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,125 INFO L290 TraceCheckUtils]: 113: Hoare triple {12267#(<= ~counter~0 6)} assume !!(#t~post6 < 20);havoc #t~post6; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,125 INFO L272 TraceCheckUtils]: 114: Hoare triple {12267#(<= ~counter~0 6)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,125 INFO L290 TraceCheckUtils]: 115: Hoare triple {12267#(<= ~counter~0 6)} ~cond := #in~cond; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,126 INFO L290 TraceCheckUtils]: 116: Hoare triple {12267#(<= ~counter~0 6)} assume !(0 == ~cond); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,126 INFO L290 TraceCheckUtils]: 117: Hoare triple {12267#(<= ~counter~0 6)} assume true; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,126 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {12267#(<= ~counter~0 6)} {12267#(<= ~counter~0 6)} #68#return; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,127 INFO L272 TraceCheckUtils]: 119: Hoare triple {12267#(<= ~counter~0 6)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,127 INFO L290 TraceCheckUtils]: 120: Hoare triple {12267#(<= ~counter~0 6)} ~cond := #in~cond; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,127 INFO L290 TraceCheckUtils]: 121: Hoare triple {12267#(<= ~counter~0 6)} assume !(0 == ~cond); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,127 INFO L290 TraceCheckUtils]: 122: Hoare triple {12267#(<= ~counter~0 6)} assume true; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,128 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {12267#(<= ~counter~0 6)} {12267#(<= ~counter~0 6)} #70#return; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,128 INFO L272 TraceCheckUtils]: 124: Hoare triple {12267#(<= ~counter~0 6)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,128 INFO L290 TraceCheckUtils]: 125: Hoare triple {12267#(<= ~counter~0 6)} ~cond := #in~cond; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,129 INFO L290 TraceCheckUtils]: 126: Hoare triple {12267#(<= ~counter~0 6)} assume !(0 == ~cond); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,129 INFO L290 TraceCheckUtils]: 127: Hoare triple {12267#(<= ~counter~0 6)} assume true; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,130 INFO L284 TraceCheckUtils]: 128: Hoare quadruple {12267#(<= ~counter~0 6)} {12267#(<= ~counter~0 6)} #72#return; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,130 INFO L290 TraceCheckUtils]: 129: Hoare triple {12267#(<= ~counter~0 6)} assume !!(~a~0 != ~b~0); {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,130 INFO L290 TraceCheckUtils]: 130: Hoare triple {12267#(<= ~counter~0 6)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12267#(<= ~counter~0 6)} is VALID [2022-04-27 12:50:25,131 INFO L290 TraceCheckUtils]: 131: Hoare triple {12267#(<= ~counter~0 6)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,131 INFO L290 TraceCheckUtils]: 132: Hoare triple {12325#(<= ~counter~0 7)} assume !!(#t~post6 < 20);havoc #t~post6; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,132 INFO L272 TraceCheckUtils]: 133: Hoare triple {12325#(<= ~counter~0 7)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,132 INFO L290 TraceCheckUtils]: 134: Hoare triple {12325#(<= ~counter~0 7)} ~cond := #in~cond; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,132 INFO L290 TraceCheckUtils]: 135: Hoare triple {12325#(<= ~counter~0 7)} assume !(0 == ~cond); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,132 INFO L290 TraceCheckUtils]: 136: Hoare triple {12325#(<= ~counter~0 7)} assume true; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,133 INFO L284 TraceCheckUtils]: 137: Hoare quadruple {12325#(<= ~counter~0 7)} {12325#(<= ~counter~0 7)} #68#return; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,133 INFO L272 TraceCheckUtils]: 138: Hoare triple {12325#(<= ~counter~0 7)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,133 INFO L290 TraceCheckUtils]: 139: Hoare triple {12325#(<= ~counter~0 7)} ~cond := #in~cond; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,134 INFO L290 TraceCheckUtils]: 140: Hoare triple {12325#(<= ~counter~0 7)} assume !(0 == ~cond); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,134 INFO L290 TraceCheckUtils]: 141: Hoare triple {12325#(<= ~counter~0 7)} assume true; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,134 INFO L284 TraceCheckUtils]: 142: Hoare quadruple {12325#(<= ~counter~0 7)} {12325#(<= ~counter~0 7)} #70#return; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,135 INFO L272 TraceCheckUtils]: 143: Hoare triple {12325#(<= ~counter~0 7)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,135 INFO L290 TraceCheckUtils]: 144: Hoare triple {12325#(<= ~counter~0 7)} ~cond := #in~cond; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,135 INFO L290 TraceCheckUtils]: 145: Hoare triple {12325#(<= ~counter~0 7)} assume !(0 == ~cond); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,135 INFO L290 TraceCheckUtils]: 146: Hoare triple {12325#(<= ~counter~0 7)} assume true; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,136 INFO L284 TraceCheckUtils]: 147: Hoare quadruple {12325#(<= ~counter~0 7)} {12325#(<= ~counter~0 7)} #72#return; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,136 INFO L290 TraceCheckUtils]: 148: Hoare triple {12325#(<= ~counter~0 7)} assume !!(~a~0 != ~b~0); {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,136 INFO L290 TraceCheckUtils]: 149: Hoare triple {12325#(<= ~counter~0 7)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12325#(<= ~counter~0 7)} is VALID [2022-04-27 12:50:25,137 INFO L290 TraceCheckUtils]: 150: Hoare triple {12325#(<= ~counter~0 7)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,137 INFO L290 TraceCheckUtils]: 151: Hoare triple {12383#(<= ~counter~0 8)} assume !!(#t~post6 < 20);havoc #t~post6; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,138 INFO L272 TraceCheckUtils]: 152: Hoare triple {12383#(<= ~counter~0 8)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,138 INFO L290 TraceCheckUtils]: 153: Hoare triple {12383#(<= ~counter~0 8)} ~cond := #in~cond; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,138 INFO L290 TraceCheckUtils]: 154: Hoare triple {12383#(<= ~counter~0 8)} assume !(0 == ~cond); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,138 INFO L290 TraceCheckUtils]: 155: Hoare triple {12383#(<= ~counter~0 8)} assume true; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,139 INFO L284 TraceCheckUtils]: 156: Hoare quadruple {12383#(<= ~counter~0 8)} {12383#(<= ~counter~0 8)} #68#return; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,139 INFO L272 TraceCheckUtils]: 157: Hoare triple {12383#(<= ~counter~0 8)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,139 INFO L290 TraceCheckUtils]: 158: Hoare triple {12383#(<= ~counter~0 8)} ~cond := #in~cond; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,140 INFO L290 TraceCheckUtils]: 159: Hoare triple {12383#(<= ~counter~0 8)} assume !(0 == ~cond); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,140 INFO L290 TraceCheckUtils]: 160: Hoare triple {12383#(<= ~counter~0 8)} assume true; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,140 INFO L284 TraceCheckUtils]: 161: Hoare quadruple {12383#(<= ~counter~0 8)} {12383#(<= ~counter~0 8)} #70#return; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,141 INFO L272 TraceCheckUtils]: 162: Hoare triple {12383#(<= ~counter~0 8)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,141 INFO L290 TraceCheckUtils]: 163: Hoare triple {12383#(<= ~counter~0 8)} ~cond := #in~cond; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,141 INFO L290 TraceCheckUtils]: 164: Hoare triple {12383#(<= ~counter~0 8)} assume !(0 == ~cond); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,141 INFO L290 TraceCheckUtils]: 165: Hoare triple {12383#(<= ~counter~0 8)} assume true; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,142 INFO L284 TraceCheckUtils]: 166: Hoare quadruple {12383#(<= ~counter~0 8)} {12383#(<= ~counter~0 8)} #72#return; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,142 INFO L290 TraceCheckUtils]: 167: Hoare triple {12383#(<= ~counter~0 8)} assume !!(~a~0 != ~b~0); {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,145 INFO L290 TraceCheckUtils]: 168: Hoare triple {12383#(<= ~counter~0 8)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12383#(<= ~counter~0 8)} is VALID [2022-04-27 12:50:25,146 INFO L290 TraceCheckUtils]: 169: Hoare triple {12383#(<= ~counter~0 8)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,146 INFO L290 TraceCheckUtils]: 170: Hoare triple {12441#(<= ~counter~0 9)} assume !!(#t~post6 < 20);havoc #t~post6; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,146 INFO L272 TraceCheckUtils]: 171: Hoare triple {12441#(<= ~counter~0 9)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,147 INFO L290 TraceCheckUtils]: 172: Hoare triple {12441#(<= ~counter~0 9)} ~cond := #in~cond; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,147 INFO L290 TraceCheckUtils]: 173: Hoare triple {12441#(<= ~counter~0 9)} assume !(0 == ~cond); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,147 INFO L290 TraceCheckUtils]: 174: Hoare triple {12441#(<= ~counter~0 9)} assume true; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,147 INFO L284 TraceCheckUtils]: 175: Hoare quadruple {12441#(<= ~counter~0 9)} {12441#(<= ~counter~0 9)} #68#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,148 INFO L272 TraceCheckUtils]: 176: Hoare triple {12441#(<= ~counter~0 9)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,148 INFO L290 TraceCheckUtils]: 177: Hoare triple {12441#(<= ~counter~0 9)} ~cond := #in~cond; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,149 INFO L290 TraceCheckUtils]: 178: Hoare triple {12441#(<= ~counter~0 9)} assume !(0 == ~cond); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,149 INFO L290 TraceCheckUtils]: 179: Hoare triple {12441#(<= ~counter~0 9)} assume true; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,149 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {12441#(<= ~counter~0 9)} {12441#(<= ~counter~0 9)} #70#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,150 INFO L272 TraceCheckUtils]: 181: Hoare triple {12441#(<= ~counter~0 9)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,150 INFO L290 TraceCheckUtils]: 182: Hoare triple {12441#(<= ~counter~0 9)} ~cond := #in~cond; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,150 INFO L290 TraceCheckUtils]: 183: Hoare triple {12441#(<= ~counter~0 9)} assume !(0 == ~cond); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,151 INFO L290 TraceCheckUtils]: 184: Hoare triple {12441#(<= ~counter~0 9)} assume true; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,151 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {12441#(<= ~counter~0 9)} {12441#(<= ~counter~0 9)} #72#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,151 INFO L290 TraceCheckUtils]: 186: Hoare triple {12441#(<= ~counter~0 9)} assume !!(~a~0 != ~b~0); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,152 INFO L290 TraceCheckUtils]: 187: Hoare triple {12441#(<= ~counter~0 9)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,152 INFO L290 TraceCheckUtils]: 188: Hoare triple {12441#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,152 INFO L290 TraceCheckUtils]: 189: Hoare triple {12499#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,153 INFO L272 TraceCheckUtils]: 190: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,153 INFO L290 TraceCheckUtils]: 191: Hoare triple {12499#(<= ~counter~0 10)} ~cond := #in~cond; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,153 INFO L290 TraceCheckUtils]: 192: Hoare triple {12499#(<= ~counter~0 10)} assume !(0 == ~cond); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,153 INFO L290 TraceCheckUtils]: 193: Hoare triple {12499#(<= ~counter~0 10)} assume true; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,154 INFO L284 TraceCheckUtils]: 194: Hoare quadruple {12499#(<= ~counter~0 10)} {12499#(<= ~counter~0 10)} #68#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,154 INFO L272 TraceCheckUtils]: 195: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,154 INFO L290 TraceCheckUtils]: 196: Hoare triple {12499#(<= ~counter~0 10)} ~cond := #in~cond; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,155 INFO L290 TraceCheckUtils]: 197: Hoare triple {12499#(<= ~counter~0 10)} assume !(0 == ~cond); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,155 INFO L290 TraceCheckUtils]: 198: Hoare triple {12499#(<= ~counter~0 10)} assume true; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,155 INFO L284 TraceCheckUtils]: 199: Hoare quadruple {12499#(<= ~counter~0 10)} {12499#(<= ~counter~0 10)} #70#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,156 INFO L272 TraceCheckUtils]: 200: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,156 INFO L290 TraceCheckUtils]: 201: Hoare triple {12499#(<= ~counter~0 10)} ~cond := #in~cond; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,156 INFO L290 TraceCheckUtils]: 202: Hoare triple {12499#(<= ~counter~0 10)} assume !(0 == ~cond); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,157 INFO L290 TraceCheckUtils]: 203: Hoare triple {12499#(<= ~counter~0 10)} assume true; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,157 INFO L284 TraceCheckUtils]: 204: Hoare quadruple {12499#(<= ~counter~0 10)} {12499#(<= ~counter~0 10)} #72#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,157 INFO L290 TraceCheckUtils]: 205: Hoare triple {12499#(<= ~counter~0 10)} assume !!(~a~0 != ~b~0); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,157 INFO L290 TraceCheckUtils]: 206: Hoare triple {12499#(<= ~counter~0 10)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,158 INFO L290 TraceCheckUtils]: 207: Hoare triple {12499#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12557#(<= |main_#t~post6| 10)} is VALID [2022-04-27 12:50:25,158 INFO L290 TraceCheckUtils]: 208: Hoare triple {12557#(<= |main_#t~post6| 10)} assume !(#t~post6 < 20);havoc #t~post6; {11921#false} is VALID [2022-04-27 12:50:25,158 INFO L272 TraceCheckUtils]: 209: Hoare triple {11921#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {11921#false} is VALID [2022-04-27 12:50:25,158 INFO L290 TraceCheckUtils]: 210: Hoare triple {11921#false} ~cond := #in~cond; {11921#false} is VALID [2022-04-27 12:50:25,158 INFO L290 TraceCheckUtils]: 211: Hoare triple {11921#false} assume 0 == ~cond; {11921#false} is VALID [2022-04-27 12:50:25,158 INFO L290 TraceCheckUtils]: 212: Hoare triple {11921#false} assume !false; {11921#false} is VALID [2022-04-27 12:50:25,159 INFO L134 CoverageAnalysis]: Checked inductivity of 2139 backedges. 60 proven. 1955 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-27 12:50:25,159 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:25,642 INFO L290 TraceCheckUtils]: 212: Hoare triple {11921#false} assume !false; {11921#false} is VALID [2022-04-27 12:50:25,642 INFO L290 TraceCheckUtils]: 211: Hoare triple {11921#false} assume 0 == ~cond; {11921#false} is VALID [2022-04-27 12:50:25,642 INFO L290 TraceCheckUtils]: 210: Hoare triple {11921#false} ~cond := #in~cond; {11921#false} is VALID [2022-04-27 12:50:25,642 INFO L272 TraceCheckUtils]: 209: Hoare triple {11921#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {11921#false} is VALID [2022-04-27 12:50:25,643 INFO L290 TraceCheckUtils]: 208: Hoare triple {12585#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {11921#false} is VALID [2022-04-27 12:50:25,643 INFO L290 TraceCheckUtils]: 207: Hoare triple {12589#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12585#(< |main_#t~post6| 20)} is VALID [2022-04-27 12:50:25,643 INFO L290 TraceCheckUtils]: 206: Hoare triple {12589#(< ~counter~0 20)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,643 INFO L290 TraceCheckUtils]: 205: Hoare triple {12589#(< ~counter~0 20)} assume !!(~a~0 != ~b~0); {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,644 INFO L284 TraceCheckUtils]: 204: Hoare quadruple {11920#true} {12589#(< ~counter~0 20)} #72#return; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 203: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 202: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 201: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L272 TraceCheckUtils]: 200: Hoare triple {12589#(< ~counter~0 20)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L284 TraceCheckUtils]: 199: Hoare quadruple {11920#true} {12589#(< ~counter~0 20)} #70#return; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 198: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 197: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L290 TraceCheckUtils]: 196: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,644 INFO L272 TraceCheckUtils]: 195: Hoare triple {12589#(< ~counter~0 20)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,645 INFO L284 TraceCheckUtils]: 194: Hoare quadruple {11920#true} {12589#(< ~counter~0 20)} #68#return; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,645 INFO L290 TraceCheckUtils]: 193: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,645 INFO L290 TraceCheckUtils]: 192: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,645 INFO L290 TraceCheckUtils]: 191: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,645 INFO L272 TraceCheckUtils]: 190: Hoare triple {12589#(< ~counter~0 20)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,645 INFO L290 TraceCheckUtils]: 189: Hoare triple {12589#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 188: Hoare triple {12647#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12589#(< ~counter~0 20)} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 187: Hoare triple {12647#(< ~counter~0 19)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 186: Hoare triple {12647#(< ~counter~0 19)} assume !!(~a~0 != ~b~0); {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,646 INFO L284 TraceCheckUtils]: 185: Hoare quadruple {11920#true} {12647#(< ~counter~0 19)} #72#return; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 184: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 183: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,646 INFO L290 TraceCheckUtils]: 182: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,646 INFO L272 TraceCheckUtils]: 181: Hoare triple {12647#(< ~counter~0 19)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L284 TraceCheckUtils]: 180: Hoare quadruple {11920#true} {12647#(< ~counter~0 19)} #70#return; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,647 INFO L290 TraceCheckUtils]: 179: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L290 TraceCheckUtils]: 178: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L290 TraceCheckUtils]: 177: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L272 TraceCheckUtils]: 176: Hoare triple {12647#(< ~counter~0 19)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L284 TraceCheckUtils]: 175: Hoare quadruple {11920#true} {12647#(< ~counter~0 19)} #68#return; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,647 INFO L290 TraceCheckUtils]: 174: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,647 INFO L290 TraceCheckUtils]: 173: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,648 INFO L290 TraceCheckUtils]: 172: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,648 INFO L272 TraceCheckUtils]: 171: Hoare triple {12647#(< ~counter~0 19)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,648 INFO L290 TraceCheckUtils]: 170: Hoare triple {12647#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,648 INFO L290 TraceCheckUtils]: 169: Hoare triple {12705#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12647#(< ~counter~0 19)} is VALID [2022-04-27 12:50:25,648 INFO L290 TraceCheckUtils]: 168: Hoare triple {12705#(< ~counter~0 18)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,648 INFO L290 TraceCheckUtils]: 167: Hoare triple {12705#(< ~counter~0 18)} assume !!(~a~0 != ~b~0); {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,649 INFO L284 TraceCheckUtils]: 166: Hoare quadruple {11920#true} {12705#(< ~counter~0 18)} #72#return; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,649 INFO L290 TraceCheckUtils]: 165: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,649 INFO L290 TraceCheckUtils]: 164: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,649 INFO L290 TraceCheckUtils]: 163: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,649 INFO L272 TraceCheckUtils]: 162: Hoare triple {12705#(< ~counter~0 18)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,649 INFO L284 TraceCheckUtils]: 161: Hoare quadruple {11920#true} {12705#(< ~counter~0 18)} #70#return; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,649 INFO L290 TraceCheckUtils]: 160: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,649 INFO L290 TraceCheckUtils]: 159: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L290 TraceCheckUtils]: 158: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L272 TraceCheckUtils]: 157: Hoare triple {12705#(< ~counter~0 18)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L284 TraceCheckUtils]: 156: Hoare quadruple {11920#true} {12705#(< ~counter~0 18)} #68#return; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,650 INFO L290 TraceCheckUtils]: 155: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L290 TraceCheckUtils]: 154: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L290 TraceCheckUtils]: 153: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L272 TraceCheckUtils]: 152: Hoare triple {12705#(< ~counter~0 18)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,650 INFO L290 TraceCheckUtils]: 151: Hoare triple {12705#(< ~counter~0 18)} assume !!(#t~post6 < 20);havoc #t~post6; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,651 INFO L290 TraceCheckUtils]: 150: Hoare triple {12763#(< ~counter~0 17)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12705#(< ~counter~0 18)} is VALID [2022-04-27 12:50:25,651 INFO L290 TraceCheckUtils]: 149: Hoare triple {12763#(< ~counter~0 17)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,651 INFO L290 TraceCheckUtils]: 148: Hoare triple {12763#(< ~counter~0 17)} assume !!(~a~0 != ~b~0); {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,651 INFO L284 TraceCheckUtils]: 147: Hoare quadruple {11920#true} {12763#(< ~counter~0 17)} #72#return; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,651 INFO L290 TraceCheckUtils]: 146: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L290 TraceCheckUtils]: 145: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L290 TraceCheckUtils]: 144: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L272 TraceCheckUtils]: 143: Hoare triple {12763#(< ~counter~0 17)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L284 TraceCheckUtils]: 142: Hoare quadruple {11920#true} {12763#(< ~counter~0 17)} #70#return; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,652 INFO L290 TraceCheckUtils]: 141: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L290 TraceCheckUtils]: 140: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L290 TraceCheckUtils]: 139: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L272 TraceCheckUtils]: 138: Hoare triple {12763#(< ~counter~0 17)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,652 INFO L284 TraceCheckUtils]: 137: Hoare quadruple {11920#true} {12763#(< ~counter~0 17)} #68#return; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,653 INFO L290 TraceCheckUtils]: 136: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,653 INFO L290 TraceCheckUtils]: 135: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,653 INFO L290 TraceCheckUtils]: 134: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,653 INFO L272 TraceCheckUtils]: 133: Hoare triple {12763#(< ~counter~0 17)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,658 INFO L290 TraceCheckUtils]: 132: Hoare triple {12763#(< ~counter~0 17)} assume !!(#t~post6 < 20);havoc #t~post6; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,658 INFO L290 TraceCheckUtils]: 131: Hoare triple {12821#(< ~counter~0 16)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12763#(< ~counter~0 17)} is VALID [2022-04-27 12:50:25,658 INFO L290 TraceCheckUtils]: 130: Hoare triple {12821#(< ~counter~0 16)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,658 INFO L290 TraceCheckUtils]: 129: Hoare triple {12821#(< ~counter~0 16)} assume !!(~a~0 != ~b~0); {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,659 INFO L284 TraceCheckUtils]: 128: Hoare quadruple {11920#true} {12821#(< ~counter~0 16)} #72#return; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,659 INFO L290 TraceCheckUtils]: 127: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,659 INFO L290 TraceCheckUtils]: 126: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,659 INFO L290 TraceCheckUtils]: 125: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,659 INFO L272 TraceCheckUtils]: 124: Hoare triple {12821#(< ~counter~0 16)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,659 INFO L284 TraceCheckUtils]: 123: Hoare quadruple {11920#true} {12821#(< ~counter~0 16)} #70#return; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,659 INFO L290 TraceCheckUtils]: 122: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 121: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 120: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L272 TraceCheckUtils]: 119: Hoare triple {12821#(< ~counter~0 16)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L284 TraceCheckUtils]: 118: Hoare quadruple {11920#true} {12821#(< ~counter~0 16)} #68#return; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 117: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 116: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 115: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L272 TraceCheckUtils]: 114: Hoare triple {12821#(< ~counter~0 16)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,660 INFO L290 TraceCheckUtils]: 113: Hoare triple {12821#(< ~counter~0 16)} assume !!(#t~post6 < 20);havoc #t~post6; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,661 INFO L290 TraceCheckUtils]: 112: Hoare triple {12879#(< ~counter~0 15)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12821#(< ~counter~0 16)} is VALID [2022-04-27 12:50:25,661 INFO L290 TraceCheckUtils]: 111: Hoare triple {12879#(< ~counter~0 15)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,661 INFO L290 TraceCheckUtils]: 110: Hoare triple {12879#(< ~counter~0 15)} assume !!(~a~0 != ~b~0); {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,661 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11920#true} {12879#(< ~counter~0 15)} #72#return; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,661 INFO L290 TraceCheckUtils]: 108: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L290 TraceCheckUtils]: 107: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L290 TraceCheckUtils]: 106: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L272 TraceCheckUtils]: 105: Hoare triple {12879#(< ~counter~0 15)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {11920#true} {12879#(< ~counter~0 15)} #70#return; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,662 INFO L290 TraceCheckUtils]: 103: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L290 TraceCheckUtils]: 102: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L290 TraceCheckUtils]: 101: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,662 INFO L272 TraceCheckUtils]: 100: Hoare triple {12879#(< ~counter~0 15)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,663 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {11920#true} {12879#(< ~counter~0 15)} #68#return; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,663 INFO L290 TraceCheckUtils]: 98: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,663 INFO L290 TraceCheckUtils]: 97: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,663 INFO L290 TraceCheckUtils]: 96: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,663 INFO L272 TraceCheckUtils]: 95: Hoare triple {12879#(< ~counter~0 15)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,663 INFO L290 TraceCheckUtils]: 94: Hoare triple {12879#(< ~counter~0 15)} assume !!(#t~post6 < 20);havoc #t~post6; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,663 INFO L290 TraceCheckUtils]: 93: Hoare triple {12937#(< ~counter~0 14)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12879#(< ~counter~0 15)} is VALID [2022-04-27 12:50:25,664 INFO L290 TraceCheckUtils]: 92: Hoare triple {12937#(< ~counter~0 14)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,664 INFO L290 TraceCheckUtils]: 91: Hoare triple {12937#(< ~counter~0 14)} assume !!(~a~0 != ~b~0); {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,664 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {11920#true} {12937#(< ~counter~0 14)} #72#return; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,664 INFO L290 TraceCheckUtils]: 89: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,664 INFO L290 TraceCheckUtils]: 88: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,664 INFO L290 TraceCheckUtils]: 87: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,664 INFO L272 TraceCheckUtils]: 86: Hoare triple {12937#(< ~counter~0 14)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {11920#true} {12937#(< ~counter~0 14)} #70#return; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 84: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 83: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 82: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L272 TraceCheckUtils]: 81: Hoare triple {12937#(< ~counter~0 14)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {11920#true} {12937#(< ~counter~0 14)} #68#return; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 79: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 78: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L290 TraceCheckUtils]: 77: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,665 INFO L272 TraceCheckUtils]: 76: Hoare triple {12937#(< ~counter~0 14)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,666 INFO L290 TraceCheckUtils]: 75: Hoare triple {12937#(< ~counter~0 14)} assume !!(#t~post6 < 20);havoc #t~post6; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,666 INFO L290 TraceCheckUtils]: 74: Hoare triple {12995#(< ~counter~0 13)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12937#(< ~counter~0 14)} is VALID [2022-04-27 12:50:25,666 INFO L290 TraceCheckUtils]: 73: Hoare triple {12995#(< ~counter~0 13)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,666 INFO L290 TraceCheckUtils]: 72: Hoare triple {12995#(< ~counter~0 13)} assume !!(~a~0 != ~b~0); {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,667 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {11920#true} {12995#(< ~counter~0 13)} #72#return; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 70: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 69: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 68: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L272 TraceCheckUtils]: 67: Hoare triple {12995#(< ~counter~0 13)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {11920#true} {12995#(< ~counter~0 13)} #70#return; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 65: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 64: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,667 INFO L290 TraceCheckUtils]: 63: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L272 TraceCheckUtils]: 62: Hoare triple {12995#(< ~counter~0 13)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11920#true} {12995#(< ~counter~0 13)} #68#return; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,668 INFO L290 TraceCheckUtils]: 60: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L290 TraceCheckUtils]: 59: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L290 TraceCheckUtils]: 58: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L272 TraceCheckUtils]: 57: Hoare triple {12995#(< ~counter~0 13)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,668 INFO L290 TraceCheckUtils]: 56: Hoare triple {12995#(< ~counter~0 13)} assume !!(#t~post6 < 20);havoc #t~post6; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,669 INFO L290 TraceCheckUtils]: 55: Hoare triple {13053#(< ~counter~0 12)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12995#(< ~counter~0 13)} is VALID [2022-04-27 12:50:25,669 INFO L290 TraceCheckUtils]: 54: Hoare triple {13053#(< ~counter~0 12)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,669 INFO L290 TraceCheckUtils]: 53: Hoare triple {13053#(< ~counter~0 12)} assume !!(~a~0 != ~b~0); {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,669 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11920#true} {13053#(< ~counter~0 12)} #72#return; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,669 INFO L290 TraceCheckUtils]: 51: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,669 INFO L290 TraceCheckUtils]: 50: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L290 TraceCheckUtils]: 49: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L272 TraceCheckUtils]: 48: Hoare triple {13053#(< ~counter~0 12)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11920#true} {13053#(< ~counter~0 12)} #70#return; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,670 INFO L290 TraceCheckUtils]: 46: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L290 TraceCheckUtils]: 45: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L290 TraceCheckUtils]: 44: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L272 TraceCheckUtils]: 43: Hoare triple {13053#(< ~counter~0 12)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,670 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11920#true} {13053#(< ~counter~0 12)} #68#return; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 41: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 40: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 39: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,671 INFO L272 TraceCheckUtils]: 38: Hoare triple {13053#(< ~counter~0 12)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 37: Hoare triple {13053#(< ~counter~0 12)} assume !!(#t~post6 < 20);havoc #t~post6; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 36: Hoare triple {12499#(<= ~counter~0 10)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13053#(< ~counter~0 12)} is VALID [2022-04-27 12:50:25,671 INFO L290 TraceCheckUtils]: 35: Hoare triple {12499#(<= ~counter~0 10)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,672 INFO L290 TraceCheckUtils]: 34: Hoare triple {12499#(<= ~counter~0 10)} assume !!(~a~0 != ~b~0); {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,672 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11920#true} {12499#(<= ~counter~0 10)} #72#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,672 INFO L290 TraceCheckUtils]: 32: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,672 INFO L272 TraceCheckUtils]: 29: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11920#true} {12499#(<= ~counter~0 10)} #70#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 27: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L272 TraceCheckUtils]: 24: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11920#true} {12499#(<= ~counter~0 10)} #68#return; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L272 TraceCheckUtils]: 19: Hoare triple {12499#(<= ~counter~0 10)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,673 INFO L290 TraceCheckUtils]: 18: Hoare triple {12499#(<= ~counter~0 10)} assume !!(#t~post6 < 20);havoc #t~post6; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,674 INFO L290 TraceCheckUtils]: 17: Hoare triple {12441#(<= ~counter~0 9)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12499#(<= ~counter~0 10)} is VALID [2022-04-27 12:50:25,674 INFO L290 TraceCheckUtils]: 16: Hoare triple {12441#(<= ~counter~0 9)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,674 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11920#true} {12441#(<= ~counter~0 9)} #66#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,674 INFO L290 TraceCheckUtils]: 14: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,674 INFO L290 TraceCheckUtils]: 13: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,674 INFO L290 TraceCheckUtils]: 12: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L272 TraceCheckUtils]: 11: Hoare triple {12441#(<= ~counter~0 9)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11920#true} {12441#(<= ~counter~0 9)} #64#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,675 INFO L290 TraceCheckUtils]: 9: Hoare triple {11920#true} assume true; {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L290 TraceCheckUtils]: 8: Hoare triple {11920#true} assume !(0 == ~cond); {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {11920#true} ~cond := #in~cond; {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L272 TraceCheckUtils]: 6: Hoare triple {12441#(<= ~counter~0 9)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11920#true} is VALID [2022-04-27 12:50:25,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {12441#(<= ~counter~0 9)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,675 INFO L272 TraceCheckUtils]: 4: Hoare triple {12441#(<= ~counter~0 9)} call #t~ret7 := main(); {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12441#(<= ~counter~0 9)} {11920#true} #82#return; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {12441#(<= ~counter~0 9)} assume true; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {11920#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12441#(<= ~counter~0 9)} is VALID [2022-04-27 12:50:25,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {11920#true} call ULTIMATE.init(); {11920#true} is VALID [2022-04-27 12:50:25,677 INFO L134 CoverageAnalysis]: Checked inductivity of 2139 backedges. 60 proven. 335 refuted. 0 times theorem prover too weak. 1744 trivial. 0 not checked. [2022-04-27 12:50:25,677 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:25,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1315691023] [2022-04-27 12:50:25,677 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:25,677 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [511766154] [2022-04-27 12:50:25,677 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [511766154] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:25,677 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:25,677 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14] total 24 [2022-04-27 12:50:25,678 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133459371] [2022-04-27 12:50:25,678 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:25,678 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) Word has length 213 [2022-04-27 12:50:25,701 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:25,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) [2022-04-27 12:50:25,888 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:25,888 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-27 12:50:25,888 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:25,889 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-27 12:50:25,889 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=236, Invalid=316, Unknown=0, NotChecked=0, Total=552 [2022-04-27 12:50:25,889 INFO L87 Difference]: Start difference. First operand 507 states and 572 transitions. Second operand has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) [2022-04-27 12:50:27,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:27,432 INFO L93 Difference]: Finished difference Result 1046 states and 1221 transitions. [2022-04-27 12:50:27,432 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-04-27 12:50:27,432 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) Word has length 213 [2022-04-27 12:50:27,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:27,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) [2022-04-27 12:50:27,438 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 320 transitions. [2022-04-27 12:50:27,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) [2022-04-27 12:50:27,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 320 transitions. [2022-04-27 12:50:27,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 320 transitions. [2022-04-27 12:50:27,703 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 320 edges. 320 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:27,768 INFO L225 Difference]: With dead ends: 1046 [2022-04-27 12:50:27,768 INFO L226 Difference]: Without dead ends: 1037 [2022-04-27 12:50:27,768 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 444 GetRequests, 402 SyntacticMatches, 1 SemanticMatches, 41 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 237 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=665, Invalid=1141, Unknown=0, NotChecked=0, Total=1806 [2022-04-27 12:50:27,770 INFO L413 NwaCegarLoop]: 89 mSDtfsCounter, 200 mSDsluCounter, 271 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 104 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 200 SdHoareTripleChecker+Valid, 360 SdHoareTripleChecker+Invalid, 387 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 104 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:27,770 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [200 Valid, 360 Invalid, 387 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [104 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 12:50:27,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 1037 states. [2022-04-27 12:50:28,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 1037 to 1037. [2022-04-27 12:50:28,190 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:28,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 1037 states. Second operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) [2022-04-27 12:50:28,192 INFO L74 IsIncluded]: Start isIncluded. First operand 1037 states. Second operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) [2022-04-27 12:50:28,193 INFO L87 Difference]: Start difference. First operand 1037 states. Second operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) [2022-04-27 12:50:28,226 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:28,226 INFO L93 Difference]: Finished difference Result 1037 states and 1172 transitions. [2022-04-27 12:50:28,226 INFO L276 IsEmpty]: Start isEmpty. Operand 1037 states and 1172 transitions. [2022-04-27 12:50:28,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:28,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:28,229 INFO L74 IsIncluded]: Start isIncluded. First operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) Second operand 1037 states. [2022-04-27 12:50:28,230 INFO L87 Difference]: Start difference. First operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) Second operand 1037 states. [2022-04-27 12:50:28,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:28,263 INFO L93 Difference]: Finished difference Result 1037 states and 1172 transitions. [2022-04-27 12:50:28,263 INFO L276 IsEmpty]: Start isEmpty. Operand 1037 states and 1172 transitions. [2022-04-27 12:50:28,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:28,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:28,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:28,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:28,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 1037 states, 685 states have (on average 1.0905109489051095) internal successors, (747), 705 states have internal predecessors, (747), 214 states have call successors, (214), 138 states have call predecessors, (214), 137 states have return successors, (211), 193 states have call predecessors, (211), 211 states have call successors, (211) [2022-04-27 12:50:28,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 1037 states to 1037 states and 1172 transitions. [2022-04-27 12:50:28,340 INFO L78 Accepts]: Start accepts. Automaton has 1037 states and 1172 transitions. Word has length 213 [2022-04-27 12:50:28,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:28,340 INFO L495 AbstractCegarLoop]: Abstraction has 1037 states and 1172 transitions. [2022-04-27 12:50:28,341 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 24 states, 24 states have (on average 5.416666666666667) internal successors, (130), 24 states have internal predecessors, (130), 22 states have call successors, (68), 13 states have call predecessors, (68), 12 states have return successors, (66), 20 states have call predecessors, (66), 21 states have call successors, (66) [2022-04-27 12:50:28,341 INFO L276 IsEmpty]: Start isEmpty. Operand 1037 states and 1172 transitions. [2022-04-27 12:50:28,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 404 [2022-04-27 12:50:28,346 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:28,346 INFO L195 NwaCegarLoop]: trace histogram [61, 60, 60, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:28,363 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 12:50:28,563 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,SelfDestructingSolverStorable12 [2022-04-27 12:50:28,563 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:28,564 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:28,564 INFO L85 PathProgramCache]: Analyzing trace with hash 1169361057, now seen corresponding path program 4 times [2022-04-27 12:50:28,564 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:28,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [465737123] [2022-04-27 12:50:28,564 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:28,564 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:28,589 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:28,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1533964690] [2022-04-27 12:50:28,590 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 12:50:28,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:28,590 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:28,591 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 12:50:28,609 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 12:50:28,757 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 12:50:28,757 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-27 12:50:28,757 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 12:50:28,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 12:50:28,991 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 12:50:28,991 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 12:50:28,991 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 12:50:29,012 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 12:50:29,210 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,SelfDestructingSolverStorable13 [2022-04-27 12:50:29,213 INFO L356 BasicCegarLoop]: Path program histogram: [4, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:29,219 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:50:29,315 WARN L170 areAnnotationChecker]: L24 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L24 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L24-1 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L24-1 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 12:50:29,316 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-27 12:50:29,317 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 12:50:29,317 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 12:50:29,318 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 12:50:29 BoogieIcfgContainer [2022-04-27 12:50:29,318 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 12:50:29,318 INFO L158 Benchmark]: Toolchain (without parser) took 80490.55ms. Allocated memory was 192.9MB in the beginning and 233.8MB in the end (delta: 40.9MB). Free memory was 169.1MB in the beginning and 123.1MB in the end (delta: 46.0MB). Peak memory consumption was 86.7MB. Max. memory is 8.0GB. [2022-04-27 12:50:29,318 INFO L158 Benchmark]: CDTParser took 0.20ms. Allocated memory is still 192.9MB. Free memory is still 156.4MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 12:50:29,319 INFO L158 Benchmark]: CACSL2BoogieTranslator took 219.28ms. Allocated memory is still 192.9MB. Free memory was 168.9MB in the beginning and 167.0MB in the end (delta: 1.9MB). Peak memory consumption was 8.5MB. Max. memory is 8.0GB. [2022-04-27 12:50:29,319 INFO L158 Benchmark]: Boogie Preprocessor took 23.64ms. Allocated memory is still 192.9MB. Free memory was 167.0MB in the beginning and 165.3MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 12:50:29,319 INFO L158 Benchmark]: RCFGBuilder took 223.88ms. Allocated memory is still 192.9MB. Free memory was 165.3MB in the beginning and 153.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 12:50:29,319 INFO L158 Benchmark]: TraceAbstraction took 80019.81ms. Allocated memory was 192.9MB in the beginning and 233.8MB in the end (delta: 40.9MB). Free memory was 153.4MB in the beginning and 123.1MB in the end (delta: 30.3MB). Peak memory consumption was 71.9MB. Max. memory is 8.0GB. [2022-04-27 12:50:29,320 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.20ms. Allocated memory is still 192.9MB. Free memory is still 156.4MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 219.28ms. Allocated memory is still 192.9MB. Free memory was 168.9MB in the beginning and 167.0MB in the end (delta: 1.9MB). Peak memory consumption was 8.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 23.64ms. Allocated memory is still 192.9MB. Free memory was 167.0MB in the beginning and 165.3MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 223.88ms. Allocated memory is still 192.9MB. Free memory was 165.3MB in the beginning and 153.8MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 80019.81ms. Allocated memory was 192.9MB in the beginning and 233.8MB in the end (delta: 40.9MB). Free memory was 153.4MB in the beginning and 123.1MB in the end (delta: 30.3MB). Peak memory consumption was 71.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - CounterExampleResult [Line: 13]: a call to reach_error is reachable a call to reach_error is reachable We found a FailurePath: [L18] int counter = 0; VAL [\old(counter)=22, counter=0] [L20] long long a, b, p, q, r, s; [L21] int x, y; [L22] x = __VERIFIER_nondet_int() [L23] y = __VERIFIER_nondet_int() [L24] CALL assume_abort_if_not(x >= 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L8] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L24] RET assume_abort_if_not(x >= 1) VAL [\old(counter)=0, counter=0, x=43, y=2] [L25] CALL assume_abort_if_not(y >= 1) VAL [\old(cond)=1, \old(counter)=0, counter=0] [L8] COND FALSE !(!cond) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=0] [L25] RET assume_abort_if_not(y >= 1) VAL [\old(counter)=0, counter=0, x=43, y=2] [L27] a = x [L28] b = y [L29] p = 1 [L30] q = 0 [L31] r = 0 [L32] s = 1 VAL [\old(counter)=0, a=43, b=2, counter=0, p=1, q=0, r=0, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=43, b=2, counter=1, counter++=0, p=1, q=0, r=0, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=43, b=2, counter=1, p=1, q=0, r=0, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=43, b=2, counter=1, p=1, q=0, r=0, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=1] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=1] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=43, b=2, counter=1, p=1, q=0, r=0, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=43, b=2, counter=1, p=1, q=0, r=0, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=41, b=2, counter=1, p=1, q=0, r=-1, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=41, b=2, counter=2, counter++=1, p=1, q=0, r=-1, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=41, b=2, counter=2, p=1, q=0, r=-1, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=41, b=2, counter=2, p=1, q=0, r=-1, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=2] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=2] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=41, b=2, counter=2, p=1, q=0, r=-1, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=41, b=2, counter=2, p=1, q=0, r=-1, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=39, b=2, counter=2, p=1, q=0, r=-2, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=39, b=2, counter=3, counter++=2, p=1, q=0, r=-2, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=39, b=2, counter=3, p=1, q=0, r=-2, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=39, b=2, counter=3, p=1, q=0, r=-2, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=3] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=3] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=39, b=2, counter=3, p=1, q=0, r=-2, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=39, b=2, counter=3, p=1, q=0, r=-2, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=37, b=2, counter=3, p=1, q=0, r=-3, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=37, b=2, counter=4, counter++=3, p=1, q=0, r=-3, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=37, b=2, counter=4, p=1, q=0, r=-3, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=37, b=2, counter=4, p=1, q=0, r=-3, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=4] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=4] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=37, b=2, counter=4, p=1, q=0, r=-3, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=37, b=2, counter=4, p=1, q=0, r=-3, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=35, b=2, counter=4, p=1, q=0, r=-4, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=35, b=2, counter=5, counter++=4, p=1, q=0, r=-4, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=35, b=2, counter=5, p=1, q=0, r=-4, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=35, b=2, counter=5, p=1, q=0, r=-4, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=5] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=5] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=35, b=2, counter=5, p=1, q=0, r=-4, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=35, b=2, counter=5, p=1, q=0, r=-4, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=33, b=2, counter=5, p=1, q=0, r=-5, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=33, b=2, counter=6, counter++=5, p=1, q=0, r=-5, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=6] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=33, b=2, counter=6, p=1, q=0, r=-5, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=6] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=33, b=2, counter=6, p=1, q=0, r=-5, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=6] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=6] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=33, b=2, counter=6, p=1, q=0, r=-5, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=33, b=2, counter=6, p=1, q=0, r=-5, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=31, b=2, counter=6, p=1, q=0, r=-6, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=31, b=2, counter=7, counter++=6, p=1, q=0, r=-6, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=7] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=31, b=2, counter=7, p=1, q=0, r=-6, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=7] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=31, b=2, counter=7, p=1, q=0, r=-6, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=7] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=7] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=31, b=2, counter=7, p=1, q=0, r=-6, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=31, b=2, counter=7, p=1, q=0, r=-6, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=29, b=2, counter=7, p=1, q=0, r=-7, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=29, b=2, counter=8, counter++=7, p=1, q=0, r=-7, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=8] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=29, b=2, counter=8, p=1, q=0, r=-7, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=8] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=29, b=2, counter=8, p=1, q=0, r=-7, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=8] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=8] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=29, b=2, counter=8, p=1, q=0, r=-7, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=29, b=2, counter=8, p=1, q=0, r=-7, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=27, b=2, counter=8, p=1, q=0, r=-8, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=27, b=2, counter=9, counter++=8, p=1, q=0, r=-8, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=9] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=27, b=2, counter=9, p=1, q=0, r=-8, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=9] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=27, b=2, counter=9, p=1, q=0, r=-8, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=9] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=9] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=27, b=2, counter=9, p=1, q=0, r=-8, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=27, b=2, counter=9, p=1, q=0, r=-8, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=25, b=2, counter=9, p=1, q=0, r=-9, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=25, b=2, counter=10, counter++=9, p=1, q=0, r=-9, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=10] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=25, b=2, counter=10, p=1, q=0, r=-9, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=10] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=25, b=2, counter=10, p=1, q=0, r=-9, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=10] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=10] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=25, b=2, counter=10, p=1, q=0, r=-9, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=25, b=2, counter=10, p=1, q=0, r=-9, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=23, b=2, counter=10, p=1, q=0, r=-10, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=23, b=2, counter=11, counter++=10, p=1, q=0, r=-10, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=11] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=11] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=23, b=2, counter=11, p=1, q=0, r=-10, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=11] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=11] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=23, b=2, counter=11, p=1, q=0, r=-10, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=11] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=11] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=23, b=2, counter=11, p=1, q=0, r=-10, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=23, b=2, counter=11, p=1, q=0, r=-10, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=21, b=2, counter=11, p=1, q=0, r=-11, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=21, b=2, counter=12, counter++=11, p=1, q=0, r=-11, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=12] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=12] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=21, b=2, counter=12, p=1, q=0, r=-11, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=12] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=12] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=21, b=2, counter=12, p=1, q=0, r=-11, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=12] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=12] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=21, b=2, counter=12, p=1, q=0, r=-11, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=21, b=2, counter=12, p=1, q=0, r=-11, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=19, b=2, counter=12, p=1, q=0, r=-12, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=19, b=2, counter=13, counter++=12, p=1, q=0, r=-12, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=13] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=13] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=19, b=2, counter=13, p=1, q=0, r=-12, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=13] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=13] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=19, b=2, counter=13, p=1, q=0, r=-12, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=13] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=13] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=19, b=2, counter=13, p=1, q=0, r=-12, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=19, b=2, counter=13, p=1, q=0, r=-12, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=17, b=2, counter=13, p=1, q=0, r=-13, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=17, b=2, counter=14, counter++=13, p=1, q=0, r=-13, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=14] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=14] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=17, b=2, counter=14, p=1, q=0, r=-13, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=14] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=14] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=17, b=2, counter=14, p=1, q=0, r=-13, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=14] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=14] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=17, b=2, counter=14, p=1, q=0, r=-13, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=17, b=2, counter=14, p=1, q=0, r=-13, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=15, b=2, counter=14, p=1, q=0, r=-14, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=15, b=2, counter=15, counter++=14, p=1, q=0, r=-14, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=15] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=15] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=15, b=2, counter=15, p=1, q=0, r=-14, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=15] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=15] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=15, b=2, counter=15, p=1, q=0, r=-14, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=15] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=15] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=15, b=2, counter=15, p=1, q=0, r=-14, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=15, b=2, counter=15, p=1, q=0, r=-14, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=13, b=2, counter=15, p=1, q=0, r=-15, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=13, b=2, counter=16, counter++=15, p=1, q=0, r=-15, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=16] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=16] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=13, b=2, counter=16, p=1, q=0, r=-15, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=16] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=16] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=13, b=2, counter=16, p=1, q=0, r=-15, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=16] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=16] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=13, b=2, counter=16, p=1, q=0, r=-15, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=13, b=2, counter=16, p=1, q=0, r=-15, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=11, b=2, counter=16, p=1, q=0, r=-16, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=11, b=2, counter=17, counter++=16, p=1, q=0, r=-16, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=17] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=17] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=11, b=2, counter=17, p=1, q=0, r=-16, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=17] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=17] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=11, b=2, counter=17, p=1, q=0, r=-16, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=17] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=17] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=11, b=2, counter=17, p=1, q=0, r=-16, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=11, b=2, counter=17, p=1, q=0, r=-16, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=9, b=2, counter=17, p=1, q=0, r=-17, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=9, b=2, counter=18, counter++=17, p=1, q=0, r=-17, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=18] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=18] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=9, b=2, counter=18, p=1, q=0, r=-17, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=18] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=18] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=9, b=2, counter=18, p=1, q=0, r=-17, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=18] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=18] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=9, b=2, counter=18, p=1, q=0, r=-17, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=9, b=2, counter=18, p=1, q=0, r=-17, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=7, b=2, counter=18, p=1, q=0, r=-18, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=7, b=2, counter=19, counter++=18, p=1, q=0, r=-18, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=19] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=19] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=7, b=2, counter=19, p=1, q=0, r=-18, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=19] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=19] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=7, b=2, counter=19, p=1, q=0, r=-18, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=19] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=19] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=7, b=2, counter=19, p=1, q=0, r=-18, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=7, b=2, counter=19, p=1, q=0, r=-18, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=5, b=2, counter=19, p=1, q=0, r=-19, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=5, b=2, counter=20, counter++=19, p=1, q=0, r=-19, s=1, x=43, y=2] [L34] COND TRUE counter++<20 [L35] CALL __VERIFIER_assert(1 == p * s - r * q) VAL [\old(cond)=1, \old(counter)=0, counter=20] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=20] [L35] RET __VERIFIER_assert(1 == p * s - r * q) VAL [\old(counter)=0, a=5, b=2, counter=20, p=1, q=0, r=-19, s=1, x=43, y=2] [L36] CALL __VERIFIER_assert(a == y * r + x * p) VAL [\old(cond)=1, \old(counter)=0, counter=20] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=20] [L36] RET __VERIFIER_assert(a == y * r + x * p) VAL [\old(counter)=0, a=5, b=2, counter=20, p=1, q=0, r=-19, s=1, x=43, y=2] [L37] CALL __VERIFIER_assert(b == x * q + y * s) VAL [\old(cond)=1, \old(counter)=0, counter=20] [L11] COND FALSE !(!(cond)) VAL [\old(cond)=1, \old(counter)=0, cond=1, counter=20] [L37] RET __VERIFIER_assert(b == x * q + y * s) VAL [\old(counter)=0, a=5, b=2, counter=20, p=1, q=0, r=-19, s=1, x=43, y=2] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=5, b=2, counter=20, p=1, q=0, r=-19, s=1, x=43, y=2] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=3, b=2, counter=20, p=1, q=0, r=-20, s=1, x=43, y=2] [L34] EXPR counter++ VAL [\old(counter)=0, a=3, b=2, counter=21, counter++=20, p=1, q=0, r=-20, s=1, x=43, y=2] [L34] COND FALSE !(counter++<20) [L53] CALL __VERIFIER_assert(a - b == 0) VAL [\old(cond)=0, \old(counter)=0, counter=21] [L11] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=21] [L13] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=21] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 79.9s, OverallIterations: 14, TraceHistogramMax: 61, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 11.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 492 SdHoareTripleChecker+Valid, 1.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 459 mSDsluCounter, 2029 SdHoareTripleChecker+Invalid, 1.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1441 mSDsCounter, 256 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1160 IncrementalHoareTripleChecker+Invalid, 1416 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 256 mSolverCounterUnsat, 588 mSDtfsCounter, 1160 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1270 GetRequests, 1130 SyntacticMatches, 9 SemanticMatches, 131 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 322 ImplicationChecksByTransitivity, 0.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=1037occurred in iteration=13, InterpolantAutomatonStates: 132, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.5s AutomataMinimizationTime, 13 MinimizatonAttempts, 40 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 62.4s InterpolantComputationTime, 1119 NumberOfCodeBlocks, 1104 NumberOfCodeBlocksAsserted, 36 NumberOfCheckSat, 1235 ConstructedInterpolants, 0 QuantifiedInterpolants, 3397 SizeOfPredicates, 34 NumberOfNonLiveVariables, 1925 ConjunctsInSsa, 152 ConjunctsInUnsatCore, 20 InterpolantComputations, 7 PerfectInterpolantSequences, 2778/5429 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [2022-04-27 12:50:29,334 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...