/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_unwindbound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 12:49:21,930 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 12:49:21,931 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 12:49:21,977 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 12:49:21,977 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 12:49:21,978 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 12:49:21,979 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 12:49:21,980 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 12:49:21,981 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 12:49:21,981 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 12:49:21,982 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 12:49:21,982 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 12:49:21,983 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 12:49:21,983 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 12:49:21,984 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 12:49:21,984 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 12:49:21,985 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 12:49:21,985 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 12:49:21,986 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 12:49:21,988 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 12:49:21,989 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 12:49:21,991 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 12:49:21,991 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 12:49:21,992 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 12:49:21,993 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 12:49:21,994 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 12:49:21,995 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 12:49:21,995 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 12:49:21,995 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 12:49:21,996 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 12:49:21,996 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 12:49:21,997 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 12:49:21,997 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 12:49:21,998 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 12:49:21,998 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 12:49:21,999 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 12:49:21,999 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 12:49:21,999 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 12:49:22,000 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 12:49:22,000 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 12:49:22,001 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 12:49:22,001 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 12:49:22,002 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:22,019 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 12:49:22,019 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 12:49:22,019 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 12:49:22,019 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 12:49:22,020 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 12:49:22,020 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 12:49:22,020 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 12:49:22,020 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 12:49:22,020 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 12:49:22,020 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 12:49:22,021 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 12:49:22,022 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:49:22,022 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 12:49:22,022 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 12:49:22,023 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:22,209 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 12:49:22,236 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 12:49:22,237 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 12:49:22,238 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 12:49:22,239 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 12:49:22,239 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-27 12:49:22,282 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f541e48ab/da1b9fe64f634ba9b16ad4d131479536/FLAG0da7297ac [2022-04-27 12:49:22,662 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 12:49:22,662 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound5.c [2022-04-27 12:49:22,668 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f541e48ab/da1b9fe64f634ba9b16ad4d131479536/FLAG0da7297ac [2022-04-27 12:49:22,679 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f541e48ab/da1b9fe64f634ba9b16ad4d131479536 [2022-04-27 12:49:22,681 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 12:49:22,682 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 12:49:22,685 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 12:49:22,685 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 12:49:22,687 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 12:49:22,688 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:49:22" (1/1) ... [2022-04-27 12:49:22,689 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@272e7afc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:22, skipping insertion in model container [2022-04-27 12:49:22,689 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 12:49:22" (1/1) ... [2022-04-27 12:49:22,693 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 12:49:22,703 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 12:49:22,851 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_unwindbound5.c[489,502] [2022-04-27 12:49:22,894 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:49:22,903 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 12:49:22,915 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_unwindbound5.c[489,502] [2022-04-27 12:49:22,921 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 12:49:22,932 INFO L208 MainTranslator]: Completed translation [2022-04-27 12:49:22,932 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:22 WrapperNode [2022-04-27 12:49:22,932 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 12:49:22,933 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 12:49:22,933 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 12:49:22,933 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 12:49:22,941 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:22" (1/1) ... [2022-04-27 12:49:22,941 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:22" (1/1) ... [2022-04-27 12:49:22,947 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:22" (1/1) ... [2022-04-27 12:49:22,947 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:22" (1/1) ... [2022-04-27 12:49:22,960 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:22" (1/1) ... [2022-04-27 12:49:22,963 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:22" (1/1) ... [2022-04-27 12:49:22,964 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:22" (1/1) ... [2022-04-27 12:49:22,965 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 12:49:22,966 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 12:49:22,966 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 12:49:22,966 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 12:49:22,970 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:22" (1/1) ... [2022-04-27 12:49:22,975 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 12:49:22,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:22,991 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:23,014 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:23,028 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 12:49:23,029 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 12:49:23,029 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 12:49:23,029 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 12:49:23,029 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 12:49:23,029 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 12:49:23,029 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 12:49:23,029 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 12:49:23,029 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 12:49:23,029 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 12:49:23,029 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 12:49:23,030 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 12:49:23,081 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 12:49:23,082 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 12:49:23,222 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 12:49:23,227 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 12:49:23,227 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 12:49:23,228 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:49:23 BoogieIcfgContainer [2022-04-27 12:49:23,228 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 12:49:23,229 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 12:49:23,229 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 12:49:23,245 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 12:49:23,245 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 12:49:22" (1/3) ... [2022-04-27 12:49:23,246 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6385d9a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:49:23, skipping insertion in model container [2022-04-27 12:49:23,246 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 12:49:22" (2/3) ... [2022-04-27 12:49:23,246 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6385d9a9 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 12:49:23, skipping insertion in model container [2022-04-27 12:49:23,246 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 12:49:23" (3/3) ... [2022-04-27 12:49:23,247 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound5.c [2022-04-27 12:49:23,266 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 12:49:23,266 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 12:49:23,319 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 12:49:23,325 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@cf0b336, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@636b976e [2022-04-27 12:49:23,325 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 12:49:23,330 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:23,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 12:49:23,334 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:23,335 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:23,335 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:23,341 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:23,341 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-27 12:49:23,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:23,348 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1328499424] [2022-04-27 12:49:23,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:23,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:23,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:23,495 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:49:23,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:23,514 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:23,515 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 12:49:23,515 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-27 12:49:23,516 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:49:23,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:23,529 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:23,530 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:23,531 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:23,531 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-27 12:49:23,531 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 12:49:23,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:23,550 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:23,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:23,552 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:23,552 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-27 12:49:23,553 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:23,554 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:23,554 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 12:49:23,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-27 12:49:23,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-27 12:49:23,554 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:23,555 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:23,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:23,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:23,556 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:23,556 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-27 12:49:23,557 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:23,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 12:49:23,558 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 12:49:23,559 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 12:49:23,559 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-27 12:49:23,560 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:23,561 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-27 12:49:23,561 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:23,562 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 12:49:23,562 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 12:49:23,562 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 12:49:23,563 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:23,564 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:23,564 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1328499424] [2022-04-27 12:49:23,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1328499424] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:23,565 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:23,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 12:49:23,567 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1212430748] [2022-04-27 12:49:23,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:23,574 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:23,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:23,578 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:23,611 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:23,612 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 12:49:23,612 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:23,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 12:49:23,634 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 12:49:23,636 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:23,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:23,818 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-27 12:49:23,818 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 12:49:23,819 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:23,819 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:23,820 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:23,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-27 12:49:23,829 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:23,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-27 12:49:23,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-27 12:49:23,974 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:23,984 INFO L225 Difference]: With dead ends: 64 [2022-04-27 12:49:23,984 INFO L226 Difference]: Without dead ends: 31 [2022-04-27 12:49:23,987 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:23,990 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:23,990 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:24,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-27 12:49:24,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-27 12:49:24,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:24,020 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:24,022 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:24,024 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:24,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:24,033 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-27 12:49:24,033 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-27 12:49:24,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:24,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:24,035 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:24,035 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:24,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:24,039 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-27 12:49:24,039 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-27 12:49:24,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:24,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:24,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:24,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:24,041 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:24,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-27 12:49:24,045 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-27 12:49:24,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:24,045 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-27 12:49:24,045 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:24,046 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-27 12:49:24,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:49:24,046 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:24,046 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:24,047 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 12:49:24,047 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:24,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:24,048 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-27 12:49:24,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:24,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2017943815] [2022-04-27 12:49:24,048 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:24,048 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:24,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,124 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 12:49:24,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,146 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:24,146 INFO L290 TraceCheckUtils]: 1: Hoare triple {259#(= ~counter~0 0)} assume true; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:24,147 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:24,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 12:49:24,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,153 INFO L290 TraceCheckUtils]: 0: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:24,154 INFO L290 TraceCheckUtils]: 1: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:24,154 INFO L290 TraceCheckUtils]: 2: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:24,155 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:24,155 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-27 12:49:24,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:24,160 INFO L290 TraceCheckUtils]: 1: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:24,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:24,161 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:24,162 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:24,162 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:24,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {259#(= ~counter~0 0)} assume true; {259#(= ~counter~0 0)} is VALID [2022-04-27 12:49:24,163 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:24,164 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:24,164 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:24,164 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:24,165 INFO L290 TraceCheckUtils]: 7: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:24,165 INFO L290 TraceCheckUtils]: 8: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:24,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:24,165 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:24,166 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:24,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {254#true} ~cond := #in~cond; {254#true} is VALID [2022-04-27 12:49:24,166 INFO L290 TraceCheckUtils]: 13: Hoare triple {254#true} assume !(0 == ~cond); {254#true} is VALID [2022-04-27 12:49:24,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {254#true} assume true; {254#true} is VALID [2022-04-27 12:49:24,167 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:24,167 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:24,168 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:24,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {268#(= |main_#t~post6| 0)} assume !(#t~post6 < 5);havoc #t~post6; {255#false} is VALID [2022-04-27 12:49:24,168 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:24,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {255#false} ~cond := #in~cond; {255#false} is VALID [2022-04-27 12:49:24,169 INFO L290 TraceCheckUtils]: 21: Hoare triple {255#false} assume 0 == ~cond; {255#false} is VALID [2022-04-27 12:49:24,169 INFO L290 TraceCheckUtils]: 22: Hoare triple {255#false} assume !false; {255#false} is VALID [2022-04-27 12:49:24,169 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:24,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:24,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2017943815] [2022-04-27 12:49:24,170 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2017943815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:24,170 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:24,170 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:24,170 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1534737919] [2022-04-27 12:49:24,170 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:24,171 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:24,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:24,172 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:24,189 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:24,189 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:24,189 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:24,190 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:24,190 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:24,190 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:24,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:24,416 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-27 12:49:24,417 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 12:49:24,417 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:24,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:24,418 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:24,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-27 12:49:24,427 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:24,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-27 12:49:24,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-27 12:49:24,490 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:24,492 INFO L225 Difference]: With dead ends: 42 [2022-04-27 12:49:24,492 INFO L226 Difference]: Without dead ends: 32 [2022-04-27 12:49:24,492 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:24,494 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:24,494 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:24,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-27 12:49:24,498 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-27 12:49:24,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:24,499 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:24,499 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:24,499 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:24,502 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:24,502 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 12:49:24,502 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:24,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:24,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:24,503 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:24,503 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:24,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:24,506 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-27 12:49:24,506 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:24,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:24,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:24,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:24,507 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:24,507 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:24,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-27 12:49:24,509 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-27 12:49:24,509 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:24,509 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-27 12:49:24,510 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:24,510 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-27 12:49:24,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 12:49:24,510 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:24,510 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:24,511 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 12:49:24,511 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:24,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:24,511 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-27 12:49:24,511 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:24,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1141400653] [2022-04-27 12:49:24,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:24,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:24,526 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:24,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [854693325] [2022-04-27 12:49:24,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:24,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:24,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:24,536 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:24,563 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:24,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 12:49:24,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:24,628 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:26,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {452#true} call ULTIMATE.init(); {452#true} is VALID [2022-04-27 12:49:26,995 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:26,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:26,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {452#true} {452#true} #82#return; {452#true} is VALID [2022-04-27 12:49:26,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {452#true} call #t~ret7 := main(); {452#true} is VALID [2022-04-27 12:49:26,995 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:26,996 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:26,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {452#true} ~cond := #in~cond; {452#true} is VALID [2022-04-27 12:49:26,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {452#true} assume !(0 == ~cond); {452#true} is VALID [2022-04-27 12:49:26,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:26,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {452#true} {452#true} #64#return; {452#true} is VALID [2022-04-27 12:49:26,996 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:26,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {452#true} ~cond := #in~cond; {452#true} is VALID [2022-04-27 12:49:26,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {452#true} assume !(0 == ~cond); {452#true} is VALID [2022-04-27 12:49:26,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {452#true} assume true; {452#true} is VALID [2022-04-27 12:49:26,997 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {452#true} {452#true} #66#return; {452#true} is VALID [2022-04-27 12:49:26,997 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:26,998 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:26,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {505#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-27 12:49:26,999 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:27,000 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:27,000 INFO L290 TraceCheckUtils]: 21: Hoare triple {519#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {453#false} is VALID [2022-04-27 12:49:27,000 INFO L290 TraceCheckUtils]: 22: Hoare triple {453#false} assume !false; {453#false} is VALID [2022-04-27 12:49:27,000 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:27,000 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:49:27,001 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:49:27,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1141400653] [2022-04-27 12:49:27,001 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:49:27,001 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [854693325] [2022-04-27 12:49:27,001 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [854693325] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:49:27,001 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:49:27,001 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:49:27,002 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1899362776] [2022-04-27 12:49:27,002 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:49:27,002 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:27,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:49:27,003 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:27,019 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:27,019 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:49:27,019 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:49:27,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:49:27,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:49:27,020 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:27,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:27,232 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-27 12:49:27,232 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:49:27,233 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:27,233 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:49:27,233 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:27,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:27,235 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:27,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:49:27,236 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-27 12:49:27,304 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:27,308 INFO L225 Difference]: With dead ends: 49 [2022-04-27 12:49:27,308 INFO L226 Difference]: Without dead ends: 47 [2022-04-27 12:49:27,309 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:27,311 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:27,312 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:27,314 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-27 12:49:27,323 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-27 12:49:27,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:49:27,324 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:27,325 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:27,326 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:27,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:27,333 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-27 12:49:27,333 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-27 12:49:27,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:27,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:27,336 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:27,336 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:27,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:49:27,338 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-27 12:49:27,338 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-27 12:49:27,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:49:27,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:49:27,339 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:49:27,339 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:49:27,339 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:27,343 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-27 12:49:27,343 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-27 12:49:27,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:49:27,343 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-27 12:49:27,343 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:27,344 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-27 12:49:27,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 12:49:27,344 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:49:27,344 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:27,364 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:27,555 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:27,556 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:49:27,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:49:27,556 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-27 12:49:27,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:49:27,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1423672211] [2022-04-27 12:49:27,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:27,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:49:27,569 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:49:27,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [100223039] [2022-04-27 12:49:27,570 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:49:27,570 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:49:27,570 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:49:27,579 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:27,596 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:27,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:27,634 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 12:49:27,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:49:27,643 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:49:31,862 INFO L272 TraceCheckUtils]: 0: Hoare triple {767#true} call ULTIMATE.init(); {767#true} is VALID [2022-04-27 12:49:31,863 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:31,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:31,863 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {767#true} {767#true} #82#return; {767#true} is VALID [2022-04-27 12:49:31,863 INFO L272 TraceCheckUtils]: 4: Hoare triple {767#true} call #t~ret7 := main(); {767#true} is VALID [2022-04-27 12:49:31,863 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:31,863 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:31,864 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:31,864 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:31,864 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:31,865 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:31,865 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:31,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {767#true} ~cond := #in~cond; {767#true} is VALID [2022-04-27 12:49:31,866 INFO L290 TraceCheckUtils]: 13: Hoare triple {767#true} assume !(0 == ~cond); {767#true} is VALID [2022-04-27 12:49:31,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:31,868 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:31,868 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:31,869 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:31,870 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 < 5);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:31,870 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:31,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {767#true} ~cond := #in~cond; {767#true} is VALID [2022-04-27 12:49:31,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {767#true} assume !(0 == ~cond); {767#true} is VALID [2022-04-27 12:49:31,870 INFO L290 TraceCheckUtils]: 22: Hoare triple {767#true} assume true; {767#true} is VALID [2022-04-27 12:49:31,871 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:31,872 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:31,873 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:31,874 INFO L290 TraceCheckUtils]: 26: Hoare triple {852#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {768#false} is VALID [2022-04-27 12:49:31,874 INFO L290 TraceCheckUtils]: 27: Hoare triple {768#false} assume !false; {768#false} is VALID [2022-04-27 12:49:31,874 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:31,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:11,748 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:11,748 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1423672211] [2022-04-27 12:50:11,749 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:11,749 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [100223039] [2022-04-27 12:50:11,749 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [100223039] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 12:50:11,749 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:50:11,749 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-27 12:50:11,749 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1280514636] [2022-04-27 12:50:11,749 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:11,750 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:50:11,750 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:11,750 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:50:11,768 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:50:11,769 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:50:11,769 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:11,769 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:50:11,769 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:50:11,769 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:50:12,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,136 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-27 12:50:12,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 12:50:12,136 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:50:12,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:12,137 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:50:12,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-27 12:50:12,138 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:50:12,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 64 transitions. [2022-04-27 12:50:12,140 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 64 transitions. [2022-04-27 12:50:12,200 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:50:12,201 INFO L225 Difference]: With dead ends: 53 [2022-04-27 12:50:12,201 INFO L226 Difference]: Without dead ends: 51 [2022-04-27 12:50:12,202 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 24 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 12:50:12,202 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:50:12,203 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:50:12,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-27 12:50:12,216 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-27 12:50:12,217 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:12,217 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:50:12,217 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:50:12,217 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:50:12,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,219 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-27 12:50:12,219 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-27 12:50:12,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:12,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:12,220 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:50:12,220 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:50:12,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:12,222 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-27 12:50:12,222 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-27 12:50:12,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:12,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:12,222 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:12,222 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:12,223 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:50:12,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-27 12:50:12,224 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-27 12:50:12,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:12,224 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-27 12:50:12,224 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:50:12,225 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-27 12:50:12,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 12:50:12,225 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:12,225 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:50:12,247 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:50:12,439 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:50:12,439 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:12,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:12,440 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-27 12:50:12,440 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:12,440 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260805626] [2022-04-27 12:50:12,440 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:12,440 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:12,459 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:12,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1486648258] [2022-04-27 12:50:12,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:12,460 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:12,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:12,464 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:50:12,465 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:50:12,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:12,503 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 12:50:12,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:12,521 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:12,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {1136#true} call ULTIMATE.init(); {1136#true} is VALID [2022-04-27 12:50:12,710 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:50:12,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1136#true} {1136#true} #82#return; {1136#true} is VALID [2022-04-27 12:50:12,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {1136#true} call #t~ret7 := main(); {1136#true} is VALID [2022-04-27 12:50:12,710 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:50:12,710 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:50:12,715 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:50:12,716 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:50:12,716 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:50:12,717 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:50:12,717 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:50:12,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,718 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:50:12,719 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:50:12,719 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:50:12,720 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 < 5);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:50:12,720 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:50:12,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,720 INFO L290 TraceCheckUtils]: 22: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,725 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:50:12,725 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:50:12,725 INFO L290 TraceCheckUtils]: 25: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,725 INFO L290 TraceCheckUtils]: 26: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,725 INFO L290 TraceCheckUtils]: 27: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,726 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:50:12,727 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:50:12,727 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:50:12,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {1236#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1137#false} is VALID [2022-04-27 12:50:12,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {1137#false} assume !false; {1137#false} is VALID [2022-04-27 12:50:12,728 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:50:12,728 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:12,937 INFO L290 TraceCheckUtils]: 32: Hoare triple {1137#false} assume !false; {1137#false} is VALID [2022-04-27 12:50:12,938 INFO L290 TraceCheckUtils]: 31: Hoare triple {1236#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1137#false} is VALID [2022-04-27 12:50:12,938 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:50:12,939 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:50:12,939 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:50:12,940 INFO L290 TraceCheckUtils]: 27: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,940 INFO L290 TraceCheckUtils]: 26: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,940 INFO L290 TraceCheckUtils]: 25: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,940 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:50:12,940 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:50:12,941 INFO L290 TraceCheckUtils]: 22: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,941 INFO L290 TraceCheckUtils]: 21: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,941 INFO L290 TraceCheckUtils]: 20: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,941 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:50:12,941 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 < 5);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:50:12,942 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:50:12,942 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:50:12,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1136#true} {1136#true} #66#return; {1136#true} is VALID [2022-04-27 12:50:12,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,943 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:50:12,943 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1136#true} {1136#true} #64#return; {1136#true} is VALID [2022-04-27 12:50:12,943 INFO L290 TraceCheckUtils]: 9: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,943 INFO L290 TraceCheckUtils]: 8: Hoare triple {1136#true} assume !(0 == ~cond); {1136#true} is VALID [2022-04-27 12:50:12,943 INFO L290 TraceCheckUtils]: 7: Hoare triple {1136#true} ~cond := #in~cond; {1136#true} is VALID [2022-04-27 12:50:12,943 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:50:12,943 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:50:12,943 INFO L272 TraceCheckUtils]: 4: Hoare triple {1136#true} call #t~ret7 := main(); {1136#true} is VALID [2022-04-27 12:50:12,943 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1136#true} {1136#true} #82#return; {1136#true} is VALID [2022-04-27 12:50:12,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {1136#true} assume true; {1136#true} is VALID [2022-04-27 12:50:12,943 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:50:12,944 INFO L272 TraceCheckUtils]: 0: Hoare triple {1136#true} call ULTIMATE.init(); {1136#true} is VALID [2022-04-27 12:50:12,944 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:50:12,944 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:12,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [260805626] [2022-04-27 12:50:12,944 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:12,944 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1486648258] [2022-04-27 12:50:12,944 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1486648258] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:50:12,944 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:50:12,944 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-27 12:50:12,944 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [548377757] [2022-04-27 12:50:12,944 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:50:12,945 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:50:12,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:12,945 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:50:12,962 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:50:12,962 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:50:12,962 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:12,962 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:50:12,962 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:50:12,963 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:50:13,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,213 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-27 12:50:13,213 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:50:13,213 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:50:13,213 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:13,213 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:50:13,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:50:13,215 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:50:13,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-27 12:50:13,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-27 12:50:13,257 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:50:13,259 INFO L225 Difference]: With dead ends: 75 [2022-04-27 12:50:13,259 INFO L226 Difference]: Without dead ends: 71 [2022-04-27 12:50:13,260 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:50:13,260 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:50:13,260 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:50:13,261 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-27 12:50:13,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-27 12:50:13,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:13,290 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:50:13,291 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:50:13,291 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:50:13,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,293 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-27 12:50:13,293 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:50:13,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:13,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:13,294 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:50:13,294 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:50:13,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,297 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-27 12:50:13,297 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:50:13,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:13,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:13,297 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:13,297 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:13,298 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:50:13,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-27 12:50:13,300 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-27 12:50:13,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:13,300 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-27 12:50:13,300 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:50:13,300 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-27 12:50:13,301 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-27 12:50:13,301 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:13,301 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:50:13,321 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:50:13,516 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:50:13,516 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:13,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:13,516 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-27 12:50:13,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:13,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1743795441] [2022-04-27 12:50:13,517 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:13,517 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:13,532 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:13,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [129858293] [2022-04-27 12:50:13,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:13,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:13,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:13,537 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:50:13,538 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:50:13,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:13,580 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 12:50:13,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:13,589 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:13,680 INFO L272 TraceCheckUtils]: 0: Hoare triple {1712#true} call ULTIMATE.init(); {1712#true} is VALID [2022-04-27 12:50:13,680 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:50:13,680 INFO L290 TraceCheckUtils]: 2: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1712#true} {1712#true} #82#return; {1712#true} is VALID [2022-04-27 12:50:13,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {1712#true} call #t~ret7 := main(); {1712#true} is VALID [2022-04-27 12:50:13,681 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:50:13,681 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:50:13,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:50:13,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:50:13,682 INFO L290 TraceCheckUtils]: 9: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,682 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1712#true} {1712#true} #64#return; {1712#true} is VALID [2022-04-27 12:50:13,682 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:50:13,682 INFO L290 TraceCheckUtils]: 12: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:50:13,682 INFO L290 TraceCheckUtils]: 13: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:50:13,682 INFO L290 TraceCheckUtils]: 14: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,682 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1712#true} {1712#true} #66#return; {1712#true} is VALID [2022-04-27 12:50:13,682 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:50:13,683 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:50:13,683 INFO L290 TraceCheckUtils]: 18: Hoare triple {1712#true} assume !!(#t~post6 < 5);havoc #t~post6; {1712#true} is VALID [2022-04-27 12:50:13,683 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:50:13,683 INFO L290 TraceCheckUtils]: 20: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:50:13,683 INFO L290 TraceCheckUtils]: 21: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:50:13,683 INFO L290 TraceCheckUtils]: 22: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,683 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1712#true} {1712#true} #68#return; {1712#true} is VALID [2022-04-27 12:50:13,683 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:50:13,684 INFO L290 TraceCheckUtils]: 25: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L290 TraceCheckUtils]: 26: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L290 TraceCheckUtils]: 27: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1712#true} {1712#true} #70#return; {1712#true} is VALID [2022-04-27 12:50:13,684 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:50:13,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {1712#true} ~cond := #in~cond; {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {1712#true} assume !(0 == ~cond); {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {1712#true} assume true; {1712#true} is VALID [2022-04-27 12:50:13,684 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1712#true} {1712#true} #72#return; {1712#true} is VALID [2022-04-27 12:50:13,685 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:50:13,686 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:50:13,686 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:50:13,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {1827#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1713#false} is VALID [2022-04-27 12:50:13,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {1713#false} assume !false; {1713#false} is VALID [2022-04-27 12:50:13,687 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:50:13,687 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:50:13,687 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:13,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1743795441] [2022-04-27 12:50:13,687 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:13,687 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [129858293] [2022-04-27 12:50:13,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [129858293] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:50:13,688 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:50:13,688 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:50:13,688 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344092601] [2022-04-27 12:50:13,688 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:50:13,690 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:50:13,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:13,690 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:50:13,710 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:50:13,711 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:50:13,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:13,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:50:13,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:50:13,711 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:50:13,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,876 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-27 12:50:13,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:50:13,876 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:50:13,876 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:13,876 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:50:13,877 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 12:50:13,877 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:50:13,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 12:50:13,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 12:50:13,918 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:13,922 INFO L225 Difference]: With dead ends: 87 [2022-04-27 12:50:13,922 INFO L226 Difference]: Without dead ends: 85 [2022-04-27 12:50:13,922 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:50:13,923 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:50:13,923 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:50:13,924 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-27 12:50:13,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-27 12:50:13,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:13,960 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:50:13,960 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:50:13,961 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:50:13,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,963 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-27 12:50:13,964 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-27 12:50:13,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:13,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:13,964 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:50:13,964 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:50:13,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:13,967 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-27 12:50:13,967 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-27 12:50:13,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:13,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:13,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:13,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:13,968 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:50:13,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-27 12:50:13,970 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-27 12:50:13,970 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:13,970 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-27 12:50:13,971 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:50:13,971 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-27 12:50:13,971 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 12:50:13,971 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:13,971 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:50:13,989 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 12:50:14,189 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:50:14,189 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:14,190 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:14,190 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-27 12:50:14,190 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:14,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1646505717] [2022-04-27 12:50:14,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:14,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:14,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:14,199 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [885521514] [2022-04-27 12:50:14,199 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:14,199 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:14,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:14,200 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:50:14,201 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:50:14,239 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:14,240 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 12:50:14,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:14,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:14,437 INFO L272 TraceCheckUtils]: 0: Hoare triple {2263#true} call ULTIMATE.init(); {2263#true} is VALID [2022-04-27 12:50:14,438 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:50:14,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2271#(<= ~counter~0 0)} {2263#true} #82#return; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,444 INFO L272 TraceCheckUtils]: 4: Hoare triple {2271#(<= ~counter~0 0)} call #t~ret7 := main(); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,444 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:50:14,444 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:50:14,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {2271#(<= ~counter~0 0)} ~cond := #in~cond; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {2271#(<= ~counter~0 0)} assume !(0 == ~cond); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,445 INFO L290 TraceCheckUtils]: 9: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,446 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:50:14,446 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:50:14,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {2271#(<= ~counter~0 0)} ~cond := #in~cond; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,447 INFO L290 TraceCheckUtils]: 13: Hoare triple {2271#(<= ~counter~0 0)} assume !(0 == ~cond); {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {2271#(<= ~counter~0 0)} assume true; {2271#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:14,447 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:50:14,448 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:50:14,448 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:50:14,448 INFO L290 TraceCheckUtils]: 18: Hoare triple {2320#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,449 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:50:14,453 INFO L290 TraceCheckUtils]: 20: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,454 INFO L290 TraceCheckUtils]: 22: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,455 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:50:14,456 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:50:14,458 INFO L290 TraceCheckUtils]: 25: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,458 INFO L290 TraceCheckUtils]: 26: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,458 INFO L290 TraceCheckUtils]: 27: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,459 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:50:14,459 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:50:14,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {2320#(<= ~counter~0 1)} ~cond := #in~cond; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {2320#(<= ~counter~0 1)} assume !(0 == ~cond); {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,466 INFO L290 TraceCheckUtils]: 32: Hoare triple {2320#(<= ~counter~0 1)} assume true; {2320#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:14,467 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:50:14,467 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:50:14,467 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:50:14,468 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:50:14,468 INFO L290 TraceCheckUtils]: 37: Hoare triple {2378#(<= |main_#t~post6| 1)} assume !(#t~post6 < 5);havoc #t~post6; {2264#false} is VALID [2022-04-27 12:50:14,468 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:50:14,468 INFO L290 TraceCheckUtils]: 39: Hoare triple {2264#false} ~cond := #in~cond; {2264#false} is VALID [2022-04-27 12:50:14,468 INFO L290 TraceCheckUtils]: 40: Hoare triple {2264#false} assume 0 == ~cond; {2264#false} is VALID [2022-04-27 12:50:14,468 INFO L290 TraceCheckUtils]: 41: Hoare triple {2264#false} assume !false; {2264#false} is VALID [2022-04-27 12:50:14,469 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:50:14,469 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:14,653 INFO L290 TraceCheckUtils]: 41: Hoare triple {2264#false} assume !false; {2264#false} is VALID [2022-04-27 12:50:14,653 INFO L290 TraceCheckUtils]: 40: Hoare triple {2264#false} assume 0 == ~cond; {2264#false} is VALID [2022-04-27 12:50:14,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {2264#false} ~cond := #in~cond; {2264#false} is VALID [2022-04-27 12:50:14,654 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:50:14,654 INFO L290 TraceCheckUtils]: 37: Hoare triple {2406#(< |main_#t~post6| 5)} assume !(#t~post6 < 5);havoc #t~post6; {2264#false} is VALID [2022-04-27 12:50:14,654 INFO L290 TraceCheckUtils]: 36: Hoare triple {2410#(< ~counter~0 5)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2406#(< |main_#t~post6| 5)} is VALID [2022-04-27 12:50:14,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {2410#(< ~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; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,655 INFO L290 TraceCheckUtils]: 34: Hoare triple {2410#(< ~counter~0 5)} assume !!(~a~0 != ~b~0); {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,655 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2263#true} {2410#(< ~counter~0 5)} #72#return; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:50:14,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:50:14,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:50:14,656 INFO L272 TraceCheckUtils]: 29: Hoare triple {2410#(< ~counter~0 5)} 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:50:14,656 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2263#true} {2410#(< ~counter~0 5)} #70#return; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,656 INFO L290 TraceCheckUtils]: 27: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:50:14,656 INFO L290 TraceCheckUtils]: 26: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:50:14,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:50:14,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {2410#(< ~counter~0 5)} 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:50:14,657 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2263#true} {2410#(< ~counter~0 5)} #68#return; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:50:14,657 INFO L290 TraceCheckUtils]: 21: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:50:14,657 INFO L290 TraceCheckUtils]: 20: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:50:14,657 INFO L272 TraceCheckUtils]: 19: Hoare triple {2410#(< ~counter~0 5)} 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:50:14,658 INFO L290 TraceCheckUtils]: 18: Hoare triple {2410#(< ~counter~0 5)} assume !!(#t~post6 < 5);havoc #t~post6; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,658 INFO L290 TraceCheckUtils]: 17: Hoare triple {2468#(< ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2410#(< ~counter~0 5)} is VALID [2022-04-27 12:50:14,658 INFO L290 TraceCheckUtils]: 16: Hoare triple {2468#(< ~counter~0 4)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,659 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2263#true} {2468#(< ~counter~0 4)} #66#return; {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,659 INFO L290 TraceCheckUtils]: 14: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:50:14,659 INFO L290 TraceCheckUtils]: 13: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:50:14,659 INFO L290 TraceCheckUtils]: 12: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:50:14,659 INFO L272 TraceCheckUtils]: 11: Hoare triple {2468#(< ~counter~0 4)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:50:14,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2263#true} {2468#(< ~counter~0 4)} #64#return; {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {2263#true} assume true; {2263#true} is VALID [2022-04-27 12:50:14,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {2263#true} assume !(0 == ~cond); {2263#true} is VALID [2022-04-27 12:50:14,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {2263#true} ~cond := #in~cond; {2263#true} is VALID [2022-04-27 12:50:14,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {2468#(< ~counter~0 4)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2263#true} is VALID [2022-04-27 12:50:14,660 INFO L290 TraceCheckUtils]: 5: Hoare triple {2468#(< ~counter~0 4)} 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 4)} is VALID [2022-04-27 12:50:14,660 INFO L272 TraceCheckUtils]: 4: Hoare triple {2468#(< ~counter~0 4)} call #t~ret7 := main(); {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2468#(< ~counter~0 4)} {2263#true} #82#return; {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {2468#(< ~counter~0 4)} assume true; {2468#(< ~counter~0 4)} is VALID [2022-04-27 12:50:14,661 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 4)} is VALID [2022-04-27 12:50:14,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {2263#true} call ULTIMATE.init(); {2263#true} is VALID [2022-04-27 12:50:14,662 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:50:14,662 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:14,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1646505717] [2022-04-27 12:50:14,662 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:14,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [885521514] [2022-04-27 12:50:14,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [885521514] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:14,662 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:14,662 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 12:50:14,662 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1302799914] [2022-04-27 12:50:14,662 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:14,663 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:50:14,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:14,663 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:50:14,705 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:50:14,705 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:50:14,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:14,706 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:50:14,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:14,706 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:50:15,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:15,084 INFO L93 Difference]: Finished difference Result 222 states and 290 transitions. [2022-04-27 12:50:15,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 12:50:15,084 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:50:15,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:15,084 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:50:15,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 12:50:15,086 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:50:15,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 124 transitions. [2022-04-27 12:50:15,088 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 124 transitions. [2022-04-27 12:50:15,171 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:50:15,175 INFO L225 Difference]: With dead ends: 222 [2022-04-27 12:50:15,175 INFO L226 Difference]: Without dead ends: 200 [2022-04-27 12:50:15,176 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:50:15,176 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:50:15,176 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:50:15,177 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 200 states. [2022-04-27 12:50:15,252 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 200 to 194. [2022-04-27 12:50:15,252 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:15,252 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:50:15,253 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:50:15,253 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:50:15,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:15,258 INFO L93 Difference]: Finished difference Result 200 states and 254 transitions. [2022-04-27 12:50:15,258 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 254 transitions. [2022-04-27 12:50:15,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:15,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:15,260 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:50:15,260 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:50:15,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:15,265 INFO L93 Difference]: Finished difference Result 200 states and 254 transitions. [2022-04-27 12:50:15,265 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 254 transitions. [2022-04-27 12:50:15,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:15,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:15,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:15,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:15,266 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:50:15,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 251 transitions. [2022-04-27 12:50:15,271 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 251 transitions. Word has length 42 [2022-04-27 12:50:15,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:15,272 INFO L495 AbstractCegarLoop]: Abstraction has 194 states and 251 transitions. [2022-04-27 12:50:15,272 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:50:15,272 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 251 transitions. [2022-04-27 12:50:15,272 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-27 12:50:15,272 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:15,272 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:50:15,291 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:50:15,487 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:50:15,487 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:15,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:15,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-27 12:50:15,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:15,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1164542143] [2022-04-27 12:50:15,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:15,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:15,497 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:15,498 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1434059273] [2022-04-27 12:50:15,498 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:15,498 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:15,498 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:15,499 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:50:15,510 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:50:15,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:15,543 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 12:50:15,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:15,549 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:17,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {3552#true} call ULTIMATE.init(); {3552#true} is VALID [2022-04-27 12:50:17,720 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:50:17,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3552#true} {3552#true} #82#return; {3552#true} is VALID [2022-04-27 12:50:17,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {3552#true} call #t~ret7 := main(); {3552#true} is VALID [2022-04-27 12:50:17,720 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:50:17,721 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:50:17,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3552#true} {3552#true} #64#return; {3552#true} is VALID [2022-04-27 12:50:17,721 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:50:17,721 INFO L290 TraceCheckUtils]: 12: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L290 TraceCheckUtils]: 13: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L290 TraceCheckUtils]: 14: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,721 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3552#true} {3552#true} #66#return; {3552#true} is VALID [2022-04-27 12:50:17,722 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:50:17,722 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:50:17,723 INFO L290 TraceCheckUtils]: 18: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:17,723 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:50:17,723 INFO L290 TraceCheckUtils]: 20: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:50:17,723 INFO L290 TraceCheckUtils]: 21: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:50:17,723 INFO L290 TraceCheckUtils]: 22: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,723 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:50:17,723 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:50:17,724 INFO L290 TraceCheckUtils]: 25: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:50:17,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:50:17,724 INFO L290 TraceCheckUtils]: 27: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,724 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:50:17,724 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:50:17,724 INFO L290 TraceCheckUtils]: 30: Hoare triple {3552#true} ~cond := #in~cond; {3552#true} is VALID [2022-04-27 12:50:17,724 INFO L290 TraceCheckUtils]: 31: Hoare triple {3552#true} assume !(0 == ~cond); {3552#true} is VALID [2022-04-27 12:50:17,724 INFO L290 TraceCheckUtils]: 32: Hoare triple {3552#true} assume true; {3552#true} is VALID [2022-04-27 12:50:17,725 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:50:17,725 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:50:17,726 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:50:17,726 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:50:17,726 INFO L290 TraceCheckUtils]: 37: Hoare triple {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 5);havoc #t~post6; {3605#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 12:50:17,727 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:50:17,727 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:50:17,728 INFO L290 TraceCheckUtils]: 40: Hoare triple {3676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3553#false} is VALID [2022-04-27 12:50:17,728 INFO L290 TraceCheckUtils]: 41: Hoare triple {3553#false} assume !false; {3553#false} is VALID [2022-04-27 12:50:17,728 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:50:17,728 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 12:50:17,728 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:17,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1164542143] [2022-04-27 12:50:17,728 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:17,728 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1434059273] [2022-04-27 12:50:17,728 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1434059273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 12:50:17,728 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 12:50:17,728 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 12:50:17,729 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [544587270] [2022-04-27 12:50:17,729 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:50:17,729 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:50:17,729 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:17,729 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:50:17,748 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:50:17,749 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:50:17,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:17,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:50:17,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 12:50:17,749 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:50:17,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:17,936 INFO L93 Difference]: Finished difference Result 208 states and 264 transitions. [2022-04-27 12:50:17,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:50:17,936 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:50:17,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:17,937 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:50:17,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 12:50:17,938 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:50:17,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-27 12:50:17,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-27 12:50:17,982 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:50:17,988 INFO L225 Difference]: With dead ends: 208 [2022-04-27 12:50:17,988 INFO L226 Difference]: Without dead ends: 203 [2022-04-27 12:50:17,990 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:50:17,990 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:50:17,991 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:50:17,991 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2022-04-27 12:50:18,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 203. [2022-04-27 12:50:18,062 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:18,063 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:50:18,067 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:50:18,069 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:50:18,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:18,074 INFO L93 Difference]: Finished difference Result 203 states and 254 transitions. [2022-04-27 12:50:18,074 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:50:18,074 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:18,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:18,076 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:50:18,076 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:50:18,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:18,086 INFO L93 Difference]: Finished difference Result 203 states and 254 transitions. [2022-04-27 12:50:18,087 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:50:18,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:18,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:18,087 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:18,087 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:18,088 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:50:18,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 203 states to 203 states and 254 transitions. [2022-04-27 12:50:18,093 INFO L78 Accepts]: Start accepts. Automaton has 203 states and 254 transitions. Word has length 42 [2022-04-27 12:50:18,093 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:18,093 INFO L495 AbstractCegarLoop]: Abstraction has 203 states and 254 transitions. [2022-04-27 12:50:18,093 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:50:18,093 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 254 transitions. [2022-04-27 12:50:18,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 12:50:18,093 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:18,093 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:50:18,112 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 12:50:18,307 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:50:18,308 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:18,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:18,308 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-27 12:50:18,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:18,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2025245207] [2022-04-27 12:50:18,308 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:18,308 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:18,321 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:18,322 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1813981731] [2022-04-27 12:50:18,322 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:18,322 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:18,322 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:18,325 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:50:18,326 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:50:18,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:18,360 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 12:50:18,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:18,366 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:18,496 INFO L272 TraceCheckUtils]: 0: Hoare triple {4700#true} call ULTIMATE.init(); {4700#true} is VALID [2022-04-27 12:50:18,496 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:18,496 INFO L290 TraceCheckUtils]: 2: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,496 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4700#true} {4700#true} #82#return; {4700#true} is VALID [2022-04-27 12:50:18,496 INFO L272 TraceCheckUtils]: 4: Hoare triple {4700#true} call #t~ret7 := main(); {4700#true} is VALID [2022-04-27 12:50:18,496 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:18,496 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:18,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4700#true} {4700#true} #64#return; {4700#true} is VALID [2022-04-27 12:50:18,497 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:18,497 INFO L290 TraceCheckUtils]: 12: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,497 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4700#true} {4700#true} #66#return; {4700#true} is VALID [2022-04-27 12:50:18,497 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:18,497 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:18,497 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#true} assume !!(#t~post6 < 5);havoc #t~post6; {4700#true} is VALID [2022-04-27 12:50:18,497 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:18,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:18,498 INFO L290 TraceCheckUtils]: 21: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:18,498 INFO L290 TraceCheckUtils]: 22: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,498 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4700#true} {4700#true} #68#return; {4700#true} is VALID [2022-04-27 12:50:18,498 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:18,498 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:50:18,498 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:50:18,499 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:18,499 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:18,499 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:18,499 INFO L290 TraceCheckUtils]: 30: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:18,500 INFO L290 TraceCheckUtils]: 31: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:18,500 INFO L290 TraceCheckUtils]: 32: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,500 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:18,501 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:18,501 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:18,501 INFO L290 TraceCheckUtils]: 36: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:18,501 INFO L290 TraceCheckUtils]: 37: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:18,501 INFO L290 TraceCheckUtils]: 38: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:18,501 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:18,502 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:18,502 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:18,503 INFO L290 TraceCheckUtils]: 42: Hoare triple {4833#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4701#false} is VALID [2022-04-27 12:50:18,503 INFO L290 TraceCheckUtils]: 43: Hoare triple {4701#false} assume !false; {4701#false} is VALID [2022-04-27 12:50:18,503 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:18,503 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:31,827 INFO L290 TraceCheckUtils]: 43: Hoare triple {4701#false} assume !false; {4701#false} is VALID [2022-04-27 12:50:31,827 INFO L290 TraceCheckUtils]: 42: Hoare triple {4833#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4701#false} is VALID [2022-04-27 12:50:31,827 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:31,828 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:31,829 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:31,829 INFO L290 TraceCheckUtils]: 38: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,829 INFO L290 TraceCheckUtils]: 37: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:31,829 INFO L290 TraceCheckUtils]: 36: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:31,829 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:31,829 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:31,830 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:31,830 INFO L290 TraceCheckUtils]: 32: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,830 INFO L290 TraceCheckUtils]: 31: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:31,830 INFO L290 TraceCheckUtils]: 30: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:31,830 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:31,831 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:31,831 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:31,832 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:31,832 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:31,832 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:31,832 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4700#true} {4700#true} #68#return; {4700#true} is VALID [2022-04-27 12:50:31,832 INFO L290 TraceCheckUtils]: 22: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,832 INFO L290 TraceCheckUtils]: 21: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:31,832 INFO L290 TraceCheckUtils]: 20: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:31,832 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:31,832 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#true} assume !!(#t~post6 < 5);havoc #t~post6; {4700#true} is VALID [2022-04-27 12:50:31,832 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:31,832 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:31,833 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4700#true} {4700#true} #66#return; {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 12: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:31,833 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:31,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4700#true} {4700#true} #64#return; {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 9: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#true} assume !(0 == ~cond); {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 7: Hoare triple {4700#true} ~cond := #in~cond; {4700#true} is VALID [2022-04-27 12:50:31,833 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:31,833 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:31,833 INFO L272 TraceCheckUtils]: 4: Hoare triple {4700#true} call #t~ret7 := main(); {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4700#true} {4700#true} #82#return; {4700#true} is VALID [2022-04-27 12:50:31,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {4700#true} assume true; {4700#true} is VALID [2022-04-27 12:50:31,833 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:31,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {4700#true} call ULTIMATE.init(); {4700#true} is VALID [2022-04-27 12:50:31,834 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:31,834 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:31,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2025245207] [2022-04-27 12:50:31,834 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:31,834 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1813981731] [2022-04-27 12:50:31,834 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1813981731] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:31,834 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:31,834 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-27 12:50:31,834 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1105832173] [2022-04-27 12:50:31,834 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:31,835 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:31,835 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:31,835 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:31,861 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:31,861 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 12:50:31,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:31,862 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 12:50:31,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 12:50:31,862 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:32,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:32,527 INFO L93 Difference]: Finished difference Result 232 states and 290 transitions. [2022-04-27 12:50:32,527 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 12:50:32,527 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:32,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:32,528 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:32,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-27 12:50:32,531 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:32,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-27 12:50:32,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-27 12:50:32,578 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:32,583 INFO L225 Difference]: With dead ends: 232 [2022-04-27 12:50:32,583 INFO L226 Difference]: Without dead ends: 216 [2022-04-27 12:50:32,584 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-27 12:50:32,585 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:32,585 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:32,585 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2022-04-27 12:50:32,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 214. [2022-04-27 12:50:32,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:32,654 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:32,654 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:32,655 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:32,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:32,667 INFO L93 Difference]: Finished difference Result 216 states and 265 transitions. [2022-04-27 12:50:32,667 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 265 transitions. [2022-04-27 12:50:32,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:32,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:32,668 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:32,668 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:32,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:32,675 INFO L93 Difference]: Finished difference Result 216 states and 265 transitions. [2022-04-27 12:50:32,675 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 265 transitions. [2022-04-27 12:50:32,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:32,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:32,676 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:32,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:32,676 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:32,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 262 transitions. [2022-04-27 12:50:32,683 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 262 transitions. Word has length 44 [2022-04-27 12:50:32,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:32,683 INFO L495 AbstractCegarLoop]: Abstraction has 214 states and 262 transitions. [2022-04-27 12:50:32,683 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:32,683 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 262 transitions. [2022-04-27 12:50:32,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-27 12:50:32,683 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:32,683 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:32,703 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 12:50:32,895 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:32,896 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:32,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:32,896 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 2 times [2022-04-27 12:50:32,897 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:32,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1209970420] [2022-04-27 12:50:32,897 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:32,897 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:32,905 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:32,906 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286216875] [2022-04-27 12:50:32,906 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:50:32,906 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:32,906 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:32,907 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:32,908 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:32,946 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:50:32,947 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:50:32,947 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 12:50:32,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:32,959 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:33,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {6070#true} call ULTIMATE.init(); {6070#true} is VALID [2022-04-27 12:50:33,242 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:33,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6070#true} {6070#true} #82#return; {6070#true} is VALID [2022-04-27 12:50:33,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {6070#true} call #t~ret7 := main(); {6070#true} is VALID [2022-04-27 12:50:33,242 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:33,242 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:33,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6070#true} {6070#true} #64#return; {6070#true} is VALID [2022-04-27 12:50:33,242 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:33,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,243 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,243 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6070#true} {6070#true} #66#return; {6070#true} is VALID [2022-04-27 12:50:33,243 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:33,244 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:33,244 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 < 5);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:33,244 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:33,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,245 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:33,245 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:33,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,246 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:33,246 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:33,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,247 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:33,248 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:33,248 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:33,248 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:33,249 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 < 5);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:33,249 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:33,249 INFO L290 TraceCheckUtils]: 39: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,249 INFO L290 TraceCheckUtils]: 40: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,249 INFO L290 TraceCheckUtils]: 41: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,250 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:33,251 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:33,251 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:33,251 INFO L290 TraceCheckUtils]: 45: Hoare triple {6210#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6071#false} is VALID [2022-04-27 12:50:33,251 INFO L290 TraceCheckUtils]: 46: Hoare triple {6071#false} assume !false; {6071#false} is VALID [2022-04-27 12:50:33,252 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:33,252 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:33,395 INFO L290 TraceCheckUtils]: 46: Hoare triple {6071#false} assume !false; {6071#false} is VALID [2022-04-27 12:50:33,396 INFO L290 TraceCheckUtils]: 45: Hoare triple {6210#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6071#false} is VALID [2022-04-27 12:50:33,396 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:33,397 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:33,397 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:33,397 INFO L290 TraceCheckUtils]: 41: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,397 INFO L290 TraceCheckUtils]: 40: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,397 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:33,398 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 < 5);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:33,398 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:33,514 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:33,515 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:33,516 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:33,516 INFO L290 TraceCheckUtils]: 32: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,516 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:33,517 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:33,517 INFO L290 TraceCheckUtils]: 27: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,517 INFO L290 TraceCheckUtils]: 26: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,517 INFO L290 TraceCheckUtils]: 25: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,517 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:33,517 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:33,518 INFO L290 TraceCheckUtils]: 22: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,518 INFO L290 TraceCheckUtils]: 21: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,518 INFO L290 TraceCheckUtils]: 20: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,518 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:33,518 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 < 5);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:33,519 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:33,519 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:33,519 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6070#true} {6070#true} #66#return; {6070#true} is VALID [2022-04-27 12:50:33,519 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,519 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,519 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:33,519 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6070#true} {6070#true} #64#return; {6070#true} is VALID [2022-04-27 12:50:33,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,520 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#true} assume !(0 == ~cond); {6070#true} is VALID [2022-04-27 12:50:33,520 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#true} ~cond := #in~cond; {6070#true} is VALID [2022-04-27 12:50:33,520 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:33,520 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:33,520 INFO L272 TraceCheckUtils]: 4: Hoare triple {6070#true} call #t~ret7 := main(); {6070#true} is VALID [2022-04-27 12:50:33,520 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6070#true} {6070#true} #82#return; {6070#true} is VALID [2022-04-27 12:50:33,520 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#true} assume true; {6070#true} is VALID [2022-04-27 12:50:33,520 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:33,520 INFO L272 TraceCheckUtils]: 0: Hoare triple {6070#true} call ULTIMATE.init(); {6070#true} is VALID [2022-04-27 12:50:33,520 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:33,520 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:33,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1209970420] [2022-04-27 12:50:33,521 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:33,521 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286216875] [2022-04-27 12:50:33,521 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286216875] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:33,521 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:33,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-27 12:50:33,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1604975840] [2022-04-27 12:50:33,521 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:33,524 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:33,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:33,524 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:33,810 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:33,810 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:50:33,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:33,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:50:33,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:33,811 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:36,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:36,799 INFO L93 Difference]: Finished difference Result 253 states and 314 transitions. [2022-04-27 12:50:36,799 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 12:50:36,799 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:36,799 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:36,799 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:36,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-04-27 12:50:36,801 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:36,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 75 transitions. [2022-04-27 12:50:36,801 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 75 transitions. [2022-04-27 12:50:37,051 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:37,055 INFO L225 Difference]: With dead ends: 253 [2022-04-27 12:50:37,055 INFO L226 Difference]: Without dead ends: 229 [2022-04-27 12:50:37,056 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:37,056 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 14 mSDsluCounter, 108 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:37,056 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.4s Time] [2022-04-27 12:50:37,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2022-04-27 12:50:37,126 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 210. [2022-04-27 12:50:37,126 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:37,127 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:37,127 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:37,128 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:37,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:37,133 INFO L93 Difference]: Finished difference Result 229 states and 273 transitions. [2022-04-27 12:50:37,133 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 273 transitions. [2022-04-27 12:50:37,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:37,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:37,133 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:37,134 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:37,138 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:37,138 INFO L93 Difference]: Finished difference Result 229 states and 273 transitions. [2022-04-27 12:50:37,138 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 273 transitions. [2022-04-27 12:50:37,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:37,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:37,138 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:37,138 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:37,139 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:37,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 210 states to 210 states and 240 transitions. [2022-04-27 12:50:37,142 INFO L78 Accepts]: Start accepts. Automaton has 210 states and 240 transitions. Word has length 47 [2022-04-27 12:50:37,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:37,142 INFO L495 AbstractCegarLoop]: Abstraction has 210 states and 240 transitions. [2022-04-27 12:50:37,143 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:37,143 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 240 transitions. [2022-04-27 12:50:37,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-27 12:50:37,143 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:37,143 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:37,163 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:37,359 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:37,360 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:37,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:37,360 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-27 12:50:37,360 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:37,360 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1751623253] [2022-04-27 12:50:37,360 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:37,360 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:37,369 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:37,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [286792226] [2022-04-27 12:50:37,370 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:37,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:37,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:37,377 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:37,378 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:37,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:37,419 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 12:50:37,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:37,429 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:37,730 INFO L272 TraceCheckUtils]: 0: Hoare triple {7497#true} call ULTIMATE.init(); {7497#true} is VALID [2022-04-27 12:50:37,731 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:37,731 INFO L290 TraceCheckUtils]: 2: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7497#true} {7497#true} #82#return; {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L272 TraceCheckUtils]: 4: Hoare triple {7497#true} call #t~ret7 := main(); {7497#true} is VALID [2022-04-27 12:50:37,731 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:37,731 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:37,731 INFO L290 TraceCheckUtils]: 7: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L290 TraceCheckUtils]: 8: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L290 TraceCheckUtils]: 9: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7497#true} {7497#true} #64#return; {7497#true} is VALID [2022-04-27 12:50:37,731 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:37,731 INFO L290 TraceCheckUtils]: 12: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L290 TraceCheckUtils]: 13: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,731 INFO L290 TraceCheckUtils]: 14: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,732 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7497#true} {7497#true} #66#return; {7497#true} is VALID [2022-04-27 12:50:37,732 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:37,732 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:37,733 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 < 5);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:37,733 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:37,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,733 INFO L290 TraceCheckUtils]: 21: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,733 INFO L290 TraceCheckUtils]: 22: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,733 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:37,733 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:37,733 INFO L290 TraceCheckUtils]: 25: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,734 INFO L290 TraceCheckUtils]: 26: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,734 INFO L290 TraceCheckUtils]: 27: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,734 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:37,734 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:37,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,735 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:37,735 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:37,736 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:37,736 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:37,737 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 < 5);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:37,737 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:37,737 INFO L290 TraceCheckUtils]: 39: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,737 INFO L290 TraceCheckUtils]: 40: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,737 INFO L290 TraceCheckUtils]: 41: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,737 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:37,737 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:37,737 INFO L290 TraceCheckUtils]: 44: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,738 INFO L290 TraceCheckUtils]: 45: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,738 INFO L290 TraceCheckUtils]: 46: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,738 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:37,738 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:37,738 INFO L290 TraceCheckUtils]: 49: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,738 INFO L290 TraceCheckUtils]: 50: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,738 INFO L290 TraceCheckUtils]: 51: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,739 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:37,739 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:37,740 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:37,740 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:37,740 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 < 5);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:37,742 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:37,742 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:37,742 INFO L290 TraceCheckUtils]: 59: Hoare triple {7680#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7498#false} is VALID [2022-04-27 12:50:37,742 INFO L290 TraceCheckUtils]: 60: Hoare triple {7498#false} assume !false; {7498#false} is VALID [2022-04-27 12:50:37,743 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:37,743 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:37,981 INFO L290 TraceCheckUtils]: 60: Hoare triple {7498#false} assume !false; {7498#false} is VALID [2022-04-27 12:50:37,981 INFO L290 TraceCheckUtils]: 59: Hoare triple {7680#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7498#false} is VALID [2022-04-27 12:50:37,982 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:37,982 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:37,983 INFO L290 TraceCheckUtils]: 56: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:37,983 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:37,985 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:37,986 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:37,986 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:37,986 INFO L290 TraceCheckUtils]: 51: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,986 INFO L290 TraceCheckUtils]: 50: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,987 INFO L290 TraceCheckUtils]: 49: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,987 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:37,987 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:37,987 INFO L290 TraceCheckUtils]: 46: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,987 INFO L290 TraceCheckUtils]: 45: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,987 INFO L290 TraceCheckUtils]: 44: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,987 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:37,988 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:37,988 INFO L290 TraceCheckUtils]: 41: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,988 INFO L290 TraceCheckUtils]: 40: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,988 INFO L290 TraceCheckUtils]: 39: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,988 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:37,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:37,989 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:37,991 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:37,992 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:37,992 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:37,992 INFO L290 TraceCheckUtils]: 32: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,993 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:37,994 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:37,994 INFO L290 TraceCheckUtils]: 27: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,994 INFO L290 TraceCheckUtils]: 26: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,994 INFO L290 TraceCheckUtils]: 25: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,994 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:37,995 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:37,995 INFO L290 TraceCheckUtils]: 22: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,995 INFO L290 TraceCheckUtils]: 21: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,995 INFO L290 TraceCheckUtils]: 20: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,995 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:37,995 INFO L290 TraceCheckUtils]: 18: Hoare triple {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 5);havoc #t~post6; {7696#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-27 12:50:37,996 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:37,996 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:37,996 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7497#true} {7497#true} #66#return; {7497#true} is VALID [2022-04-27 12:50:37,996 INFO L290 TraceCheckUtils]: 14: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,996 INFO L290 TraceCheckUtils]: 13: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,996 INFO L290 TraceCheckUtils]: 12: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,997 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:37,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7497#true} {7497#true} #64#return; {7497#true} is VALID [2022-04-27 12:50:37,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {7497#true} assume !(0 == ~cond); {7497#true} is VALID [2022-04-27 12:50:37,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {7497#true} ~cond := #in~cond; {7497#true} is VALID [2022-04-27 12:50:37,997 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:37,997 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:37,997 INFO L272 TraceCheckUtils]: 4: Hoare triple {7497#true} call #t~ret7 := main(); {7497#true} is VALID [2022-04-27 12:50:37,997 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7497#true} {7497#true} #82#return; {7497#true} is VALID [2022-04-27 12:50:37,997 INFO L290 TraceCheckUtils]: 2: Hoare triple {7497#true} assume true; {7497#true} is VALID [2022-04-27 12:50:37,997 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:37,997 INFO L272 TraceCheckUtils]: 0: Hoare triple {7497#true} call ULTIMATE.init(); {7497#true} is VALID [2022-04-27 12:50:37,997 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:37,998 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:37,998 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1751623253] [2022-04-27 12:50:37,998 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:37,998 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [286792226] [2022-04-27 12:50:37,998 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [286792226] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 12:50:37,998 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 12:50:37,998 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-27 12:50:37,998 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [402818587] [2022-04-27 12:50:37,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 12:50:37,999 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:37,999 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:37,999 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:38,031 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:38,031 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 12:50:38,031 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:38,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 12:50:38,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:38,032 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:38,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:38,231 INFO L93 Difference]: Finished difference Result 216 states and 245 transitions. [2022-04-27 12:50:38,231 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 12:50:38,231 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:38,232 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:38,232 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:38,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-27 12:50:38,232 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:38,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-27 12:50:38,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-27 12:50:38,265 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:38,268 INFO L225 Difference]: With dead ends: 216 [2022-04-27 12:50:38,268 INFO L226 Difference]: Without dead ends: 192 [2022-04-27 12:50:38,268 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:38,269 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:38,269 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:38,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 192 states. [2022-04-27 12:50:38,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 192 to 189. [2022-04-27 12:50:38,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:38,323 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:38,323 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:38,323 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:38,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:38,326 INFO L93 Difference]: Finished difference Result 192 states and 216 transitions. [2022-04-27 12:50:38,326 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 216 transitions. [2022-04-27 12:50:38,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:38,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:38,327 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:38,327 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:38,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:38,330 INFO L93 Difference]: Finished difference Result 192 states and 216 transitions. [2022-04-27 12:50:38,330 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 216 transitions. [2022-04-27 12:50:38,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:38,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:38,330 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:38,330 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:38,331 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:38,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 189 states to 189 states and 212 transitions. [2022-04-27 12:50:38,334 INFO L78 Accepts]: Start accepts. Automaton has 189 states and 212 transitions. Word has length 61 [2022-04-27 12:50:38,334 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:38,334 INFO L495 AbstractCegarLoop]: Abstraction has 189 states and 212 transitions. [2022-04-27 12:50:38,334 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:38,334 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 212 transitions. [2022-04-27 12:50:38,335 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-27 12:50:38,335 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:38,335 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:38,354 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 12:50:38,551 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:38,551 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:38,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:38,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 2 times [2022-04-27 12:50:38,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:38,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1921653261] [2022-04-27 12:50:38,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:38,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:38,563 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:38,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1226482412] [2022-04-27 12:50:38,563 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 12:50:38,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:38,563 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:38,564 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:38,565 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:38,618 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 12:50:38,618 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 12:50:38,619 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 12:50:38,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 12:50:38,641 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 12:50:39,082 INFO L272 TraceCheckUtils]: 0: Hoare triple {8832#true} call ULTIMATE.init(); {8832#true} is VALID [2022-04-27 12:50:39,083 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:39,083 INFO L290 TraceCheckUtils]: 2: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,083 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:39,084 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:39,084 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:39,085 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:39,085 INFO L290 TraceCheckUtils]: 7: Hoare triple {8840#(<= ~counter~0 0)} ~cond := #in~cond; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,085 INFO L290 TraceCheckUtils]: 8: Hoare triple {8840#(<= ~counter~0 0)} assume !(0 == ~cond); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,086 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:39,086 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:39,087 INFO L290 TraceCheckUtils]: 12: Hoare triple {8840#(<= ~counter~0 0)} ~cond := #in~cond; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {8840#(<= ~counter~0 0)} assume !(0 == ~cond); {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,088 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:39,088 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:39,089 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:39,089 INFO L290 TraceCheckUtils]: 18: Hoare triple {8889#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,090 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:39,090 INFO L290 TraceCheckUtils]: 20: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,090 INFO L290 TraceCheckUtils]: 21: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,091 INFO L290 TraceCheckUtils]: 22: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,091 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:39,092 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:39,092 INFO L290 TraceCheckUtils]: 25: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,092 INFO L290 TraceCheckUtils]: 26: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,093 INFO L290 TraceCheckUtils]: 27: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,093 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:39,094 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:39,094 INFO L290 TraceCheckUtils]: 30: Hoare triple {8889#(<= ~counter~0 1)} ~cond := #in~cond; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,094 INFO L290 TraceCheckUtils]: 31: Hoare triple {8889#(<= ~counter~0 1)} assume !(0 == ~cond); {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,094 INFO L290 TraceCheckUtils]: 32: Hoare triple {8889#(<= ~counter~0 1)} assume true; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,095 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:39,095 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:39,095 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:39,096 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:39,096 INFO L290 TraceCheckUtils]: 37: Hoare triple {8947#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,097 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:39,097 INFO L290 TraceCheckUtils]: 39: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,097 INFO L290 TraceCheckUtils]: 40: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,098 INFO L290 TraceCheckUtils]: 41: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,098 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:39,099 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:39,099 INFO L290 TraceCheckUtils]: 44: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,099 INFO L290 TraceCheckUtils]: 45: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,099 INFO L290 TraceCheckUtils]: 46: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,100 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:39,100 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:39,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {8947#(<= ~counter~0 2)} ~cond := #in~cond; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,101 INFO L290 TraceCheckUtils]: 50: Hoare triple {8947#(<= ~counter~0 2)} assume !(0 == ~cond); {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,101 INFO L290 TraceCheckUtils]: 51: Hoare triple {8947#(<= ~counter~0 2)} assume true; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,102 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:39,102 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:39,102 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:39,103 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:39,103 INFO L290 TraceCheckUtils]: 56: Hoare triple {9005#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,103 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:39,104 INFO L290 TraceCheckUtils]: 58: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,104 INFO L290 TraceCheckUtils]: 59: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,104 INFO L290 TraceCheckUtils]: 60: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,105 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:39,105 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:39,105 INFO L290 TraceCheckUtils]: 63: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,105 INFO L290 TraceCheckUtils]: 64: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,106 INFO L290 TraceCheckUtils]: 65: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,106 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:39,107 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:39,107 INFO L290 TraceCheckUtils]: 68: Hoare triple {9005#(<= ~counter~0 3)} ~cond := #in~cond; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,107 INFO L290 TraceCheckUtils]: 69: Hoare triple {9005#(<= ~counter~0 3)} assume !(0 == ~cond); {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,107 INFO L290 TraceCheckUtils]: 70: Hoare triple {9005#(<= ~counter~0 3)} assume true; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,108 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:39,108 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:39,108 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:39,109 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:39,109 INFO L290 TraceCheckUtils]: 75: Hoare triple {9063#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,109 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:39,109 INFO L290 TraceCheckUtils]: 77: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,110 INFO L290 TraceCheckUtils]: 78: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,110 INFO L290 TraceCheckUtils]: 79: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,110 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:39,111 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:39,111 INFO L290 TraceCheckUtils]: 82: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,111 INFO L290 TraceCheckUtils]: 83: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,112 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:39,112 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:39,112 INFO L290 TraceCheckUtils]: 87: Hoare triple {9063#(<= ~counter~0 4)} ~cond := #in~cond; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,113 INFO L290 TraceCheckUtils]: 88: Hoare triple {9063#(<= ~counter~0 4)} assume !(0 == ~cond); {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,113 INFO L290 TraceCheckUtils]: 89: Hoare triple {9063#(<= ~counter~0 4)} assume true; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,113 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:39,114 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:39,114 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:39,114 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:39,114 INFO L290 TraceCheckUtils]: 94: Hoare triple {9121#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {8833#false} is VALID [2022-04-27 12:50:39,114 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:39,115 INFO L290 TraceCheckUtils]: 96: Hoare triple {8833#false} ~cond := #in~cond; {8833#false} is VALID [2022-04-27 12:50:39,115 INFO L290 TraceCheckUtils]: 97: Hoare triple {8833#false} assume 0 == ~cond; {8833#false} is VALID [2022-04-27 12:50:39,115 INFO L290 TraceCheckUtils]: 98: Hoare triple {8833#false} assume !false; {8833#false} is VALID [2022-04-27 12:50:39,116 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:39,116 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 12:50:39,432 INFO L290 TraceCheckUtils]: 98: Hoare triple {8833#false} assume !false; {8833#false} is VALID [2022-04-27 12:50:39,433 INFO L290 TraceCheckUtils]: 97: Hoare triple {8833#false} assume 0 == ~cond; {8833#false} is VALID [2022-04-27 12:50:39,433 INFO L290 TraceCheckUtils]: 96: Hoare triple {8833#false} ~cond := #in~cond; {8833#false} is VALID [2022-04-27 12:50:39,433 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:39,433 INFO L290 TraceCheckUtils]: 94: Hoare triple {9121#(<= |main_#t~post6| 4)} assume !(#t~post6 < 5);havoc #t~post6; {8833#false} is VALID [2022-04-27 12:50:39,433 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:39,434 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:39,435 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:39,436 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {8832#true} {9063#(<= ~counter~0 4)} #72#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,436 INFO L290 TraceCheckUtils]: 89: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,436 INFO L290 TraceCheckUtils]: 88: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,436 INFO L290 TraceCheckUtils]: 87: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,436 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)); {8832#true} is VALID [2022-04-27 12:50:39,437 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {8832#true} {9063#(<= ~counter~0 4)} #70#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,437 INFO L290 TraceCheckUtils]: 84: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,437 INFO L290 TraceCheckUtils]: 83: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,437 INFO L290 TraceCheckUtils]: 82: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,437 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)); {8832#true} is VALID [2022-04-27 12:50:39,438 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {8832#true} {9063#(<= ~counter~0 4)} #68#return; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,438 INFO L290 TraceCheckUtils]: 79: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,438 INFO L290 TraceCheckUtils]: 78: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,438 INFO L290 TraceCheckUtils]: 77: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,438 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)); {8832#true} is VALID [2022-04-27 12:50:39,438 INFO L290 TraceCheckUtils]: 75: Hoare triple {9063#(<= ~counter~0 4)} assume !!(#t~post6 < 5);havoc #t~post6; {9063#(<= ~counter~0 4)} is VALID [2022-04-27 12:50:39,439 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:39,439 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:39,439 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:39,440 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {8832#true} {9005#(<= ~counter~0 3)} #72#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,440 INFO L290 TraceCheckUtils]: 70: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,440 INFO L290 TraceCheckUtils]: 69: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,440 INFO L290 TraceCheckUtils]: 68: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,440 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)); {8832#true} is VALID [2022-04-27 12:50:39,441 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {8832#true} {9005#(<= ~counter~0 3)} #70#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,441 INFO L290 TraceCheckUtils]: 64: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,441 INFO L290 TraceCheckUtils]: 63: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,441 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)); {8832#true} is VALID [2022-04-27 12:50:39,442 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8832#true} {9005#(<= ~counter~0 3)} #68#return; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,442 INFO L290 TraceCheckUtils]: 60: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,442 INFO L290 TraceCheckUtils]: 59: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,442 INFO L290 TraceCheckUtils]: 58: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,442 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)); {8832#true} is VALID [2022-04-27 12:50:39,442 INFO L290 TraceCheckUtils]: 56: Hoare triple {9005#(<= ~counter~0 3)} assume !!(#t~post6 < 5);havoc #t~post6; {9005#(<= ~counter~0 3)} is VALID [2022-04-27 12:50:39,443 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:39,443 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:39,443 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:39,444 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8832#true} {8947#(<= ~counter~0 2)} #72#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,444 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)); {8832#true} is VALID [2022-04-27 12:50:39,445 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8832#true} {8947#(<= ~counter~0 2)} #70#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,445 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)); {8832#true} is VALID [2022-04-27 12:50:39,445 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8832#true} {8947#(<= ~counter~0 2)} #68#return; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,446 INFO L290 TraceCheckUtils]: 41: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,446 INFO L290 TraceCheckUtils]: 40: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,446 INFO L290 TraceCheckUtils]: 39: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,446 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)); {8832#true} is VALID [2022-04-27 12:50:39,446 INFO L290 TraceCheckUtils]: 37: Hoare triple {8947#(<= ~counter~0 2)} assume !!(#t~post6 < 5);havoc #t~post6; {8947#(<= ~counter~0 2)} is VALID [2022-04-27 12:50:39,446 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:39,447 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:39,447 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:39,447 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8832#true} {8889#(<= ~counter~0 1)} #72#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 32: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 31: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 30: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,448 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)); {8832#true} is VALID [2022-04-27 12:50:39,448 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8832#true} {8889#(<= ~counter~0 1)} #70#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,449 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)); {8832#true} is VALID [2022-04-27 12:50:39,449 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8832#true} {8889#(<= ~counter~0 1)} #68#return; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,449 INFO L290 TraceCheckUtils]: 21: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,449 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)); {8832#true} is VALID [2022-04-27 12:50:39,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {8889#(<= ~counter~0 1)} assume !!(#t~post6 < 5);havoc #t~post6; {8889#(<= ~counter~0 1)} is VALID [2022-04-27 12:50:39,450 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:39,450 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:39,451 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8832#true} {8840#(<= ~counter~0 0)} #66#return; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,451 INFO L290 TraceCheckUtils]: 14: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,451 INFO L290 TraceCheckUtils]: 13: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,451 INFO L290 TraceCheckUtils]: 12: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,451 INFO L272 TraceCheckUtils]: 11: Hoare triple {8840#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:39,451 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8832#true} {8840#(<= ~counter~0 0)} #64#return; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,451 INFO L290 TraceCheckUtils]: 9: Hoare triple {8832#true} assume true; {8832#true} is VALID [2022-04-27 12:50:39,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {8832#true} assume !(0 == ~cond); {8832#true} is VALID [2022-04-27 12:50:39,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {8832#true} ~cond := #in~cond; {8832#true} is VALID [2022-04-27 12:50:39,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {8840#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8832#true} is VALID [2022-04-27 12:50:39,452 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:39,452 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:39,453 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:39,453 INFO L290 TraceCheckUtils]: 2: Hoare triple {8840#(<= ~counter~0 0)} assume true; {8840#(<= ~counter~0 0)} is VALID [2022-04-27 12:50:39,453 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:39,453 INFO L272 TraceCheckUtils]: 0: Hoare triple {8832#true} call ULTIMATE.init(); {8832#true} is VALID [2022-04-27 12:50:39,454 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:39,454 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 12:50:39,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1921653261] [2022-04-27 12:50:39,454 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 12:50:39,454 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1226482412] [2022-04-27 12:50:39,454 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1226482412] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 12:50:39,454 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 12:50:39,454 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-27 12:50:39,454 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [926059595] [2022-04-27 12:50:39,454 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 12:50:39,455 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) Word has length 99 [2022-04-27 12:50:39,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 12:50:39,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) [2022-04-27 12:50:39,736 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:39,736 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 12:50:39,736 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 12:50:39,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 12:50:39,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=33, Unknown=0, NotChecked=0, Total=56 [2022-04-27 12:50:39,737 INFO L87 Difference]: Start difference. First operand 189 states and 212 transitions. Second operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) [2022-04-27 12:50:40,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:40,029 INFO L93 Difference]: Finished difference Result 251 states and 285 transitions. [2022-04-27 12:50:40,029 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 12:50:40,029 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) Word has length 99 [2022-04-27 12:50:40,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 12:50:40,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) [2022-04-27 12:50:40,032 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-04-27 12:50:40,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) [2022-04-27 12:50:40,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 101 transitions. [2022-04-27 12:50:40,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 101 transitions. [2022-04-27 12:50:40,097 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 12:50:40,102 INFO L225 Difference]: With dead ends: 251 [2022-04-27 12:50:40,102 INFO L226 Difference]: Without dead ends: 242 [2022-04-27 12:50:40,102 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 190 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-27 12:50:40,103 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 17 mSDsluCounter, 106 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 150 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 12:50:40,103 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 150 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 12:50:40,103 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 242 states. [2022-04-27 12:50:40,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 242 to 242. [2022-04-27 12:50:40,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 12:50:40,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 242 states. Second operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:50:40,188 INFO L74 IsIncluded]: Start isIncluded. First operand 242 states. Second operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:50:40,188 INFO L87 Difference]: Start difference. First operand 242 states. Second operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:50:40,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:40,193 INFO L93 Difference]: Finished difference Result 242 states and 272 transitions. [2022-04-27 12:50:40,193 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 272 transitions. [2022-04-27 12:50:40,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:40,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:40,194 INFO L74 IsIncluded]: Start isIncluded. First operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 242 states. [2022-04-27 12:50:40,194 INFO L87 Difference]: Start difference. First operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) Second operand 242 states. [2022-04-27 12:50:40,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 12:50:40,198 INFO L93 Difference]: Finished difference Result 242 states and 272 transitions. [2022-04-27 12:50:40,198 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 272 transitions. [2022-04-27 12:50:40,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 12:50:40,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 12:50:40,199 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 12:50:40,199 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 12:50:40,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 242 states, 160 states have (on average 1.10625) internal successors, (177), 165 states have internal predecessors, (177), 49 states have call successors, (49), 33 states have call predecessors, (49), 32 states have return successors, (46), 43 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 12:50:40,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 242 states to 242 states and 272 transitions. [2022-04-27 12:50:40,208 INFO L78 Accepts]: Start accepts. Automaton has 242 states and 272 transitions. Word has length 99 [2022-04-27 12:50:40,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 12:50:40,208 INFO L495 AbstractCegarLoop]: Abstraction has 242 states and 272 transitions. [2022-04-27 12:50:40,209 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.75) internal successors, (46), 8 states have internal predecessors, (46), 7 states have call successors, (31), 7 states have call predecessors, (31), 6 states have return successors, (29), 5 states have call predecessors, (29), 6 states have call successors, (29) [2022-04-27 12:50:40,209 INFO L276 IsEmpty]: Start isEmpty. Operand 242 states and 272 transitions. [2022-04-27 12:50:40,210 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 119 [2022-04-27 12:50:40,210 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 12:50:40,210 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:40,230 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:40,419 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:40,419 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 12:50:40,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 12:50:40,420 INFO L85 PathProgramCache]: Analyzing trace with hash 1511605586, now seen corresponding path program 3 times [2022-04-27 12:50:40,420 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 12:50:40,420 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1153770571] [2022-04-27 12:50:40,420 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 12:50:40,420 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 12:50:40,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 12:50:40,432 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [815304399] [2022-04-27 12:50:40,432 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 12:50:40,432 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 12:50:40,432 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 12:50:40,433 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:40,434 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:40,502 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 11 check-sat command(s) [2022-04-27 12:50:40,502 INFO L229 tOrderPrioritization]: Conjunction of SSA is sat [2022-04-27 12:50:40,502 INFO L352 TraceCheck]: Trace is feasible, we will do another trace check, this time with branch encoders. [2022-04-27 12:50:40,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2022-04-27 12:50:40,599 INFO L130 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2022-04-27 12:50:40,599 INFO L271 BasicCegarLoop]: Counterexample is feasible [2022-04-27 12:50:40,600 INFO L805 garLoopResultBuilder]: Registering result UNSAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 12:50:40,621 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:40,819 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:40,821 INFO L356 BasicCegarLoop]: Path program histogram: [3, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 12:50:40,824 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L8 has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L24 has no Hoare annotation [2022-04-27 12:50:40,888 WARN L170 areAnnotationChecker]: L24 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L11 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L8-2 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L24-1 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L24-1 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L25 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 12:50:40,889 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L53 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L55 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L56 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L34-3 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L42 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: L35 has no Hoare annotation [2022-04-27 12:50:40,890 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 12:50:40,890 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:40,891 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 12:50:40 BoogieIcfgContainer [2022-04-27 12:50:40,891 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 12:50:40,892 INFO L158 Benchmark]: Toolchain (without parser) took 78209.41ms. Allocated memory was 206.6MB in the beginning and 264.2MB in the end (delta: 57.7MB). Free memory was 155.9MB in the beginning and 123.6MB in the end (delta: 32.3MB). Peak memory consumption was 90.9MB. Max. memory is 8.0GB. [2022-04-27 12:50:40,892 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 206.6MB. Free memory is still 172.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 12:50:40,892 INFO L158 Benchmark]: CACSL2BoogieTranslator took 247.75ms. Allocated memory is still 206.6MB. Free memory was 155.8MB in the beginning and 181.3MB in the end (delta: -25.5MB). Peak memory consumption was 9.7MB. Max. memory is 8.0GB. [2022-04-27 12:50:40,892 INFO L158 Benchmark]: Boogie Preprocessor took 31.81ms. Allocated memory is still 206.6MB. Free memory was 181.3MB in the beginning and 179.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 12:50:40,892 INFO L158 Benchmark]: RCFGBuilder took 262.78ms. Allocated memory is still 206.6MB. Free memory was 179.7MB in the beginning and 168.2MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 12:50:40,893 INFO L158 Benchmark]: TraceAbstraction took 77661.52ms. Allocated memory was 206.6MB in the beginning and 264.2MB in the end (delta: 57.7MB). Free memory was 167.6MB in the beginning and 124.2MB in the end (delta: 43.5MB). Peak memory consumption was 102.2MB. Max. memory is 8.0GB. [2022-04-27 12:50:40,893 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.09ms. Allocated memory is still 206.6MB. Free memory is still 172.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 247.75ms. Allocated memory is still 206.6MB. Free memory was 155.8MB in the beginning and 181.3MB in the end (delta: -25.5MB). Peak memory consumption was 9.7MB. Max. memory is 8.0GB. * Boogie Preprocessor took 31.81ms. Allocated memory is still 206.6MB. Free memory was 181.3MB in the beginning and 179.7MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 262.78ms. Allocated memory is still 206.6MB. Free memory was 179.7MB in the beginning and 168.2MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 77661.52ms. Allocated memory was 206.6MB in the beginning and 264.2MB in the end (delta: 57.7MB). Free memory was 167.6MB in the beginning and 124.2MB in the end (delta: 43.5MB). Peak memory consumption was 102.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - 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)=11, 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=7, y=1] [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=7, y=1] [L27] a = x [L28] b = y [L29] p = 1 [L30] q = 0 [L31] r = 0 [L32] s = 1 VAL [\old(counter)=0, a=7, b=1, counter=0, p=1, q=0, r=0, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=7, b=1, counter=1, counter++=0, p=1, q=0, r=0, s=1, x=7, y=1] [L34] COND TRUE counter++<5 [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=7, b=1, counter=1, p=1, q=0, r=0, s=1, x=7, y=1] [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=7, b=1, counter=1, p=1, q=0, r=0, s=1, x=7, y=1] [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=7, b=1, counter=1, p=1, q=0, r=0, s=1, x=7, y=1] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=7, b=1, counter=1, p=1, q=0, r=0, s=1, x=7, y=1] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=6, b=1, counter=1, p=1, q=0, r=-1, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=6, b=1, counter=2, counter++=1, p=1, q=0, r=-1, s=1, x=7, y=1] [L34] COND TRUE counter++<5 [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=6, b=1, counter=2, p=1, q=0, r=-1, s=1, x=7, y=1] [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=6, b=1, counter=2, p=1, q=0, r=-1, s=1, x=7, y=1] [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=6, b=1, counter=2, p=1, q=0, r=-1, s=1, x=7, y=1] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=6, b=1, counter=2, p=1, q=0, r=-1, s=1, x=7, y=1] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=5, b=1, counter=2, p=1, q=0, r=-2, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=5, b=1, counter=3, counter++=2, p=1, q=0, r=-2, s=1, x=7, y=1] [L34] COND TRUE counter++<5 [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=5, b=1, counter=3, p=1, q=0, r=-2, s=1, x=7, y=1] [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=5, b=1, counter=3, p=1, q=0, r=-2, s=1, x=7, y=1] [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=5, b=1, counter=3, p=1, q=0, r=-2, s=1, x=7, y=1] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=5, b=1, counter=3, p=1, q=0, r=-2, s=1, x=7, y=1] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=4, b=1, counter=3, p=1, q=0, r=-3, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=4, b=1, counter=4, counter++=3, p=1, q=0, r=-3, s=1, x=7, y=1] [L34] COND TRUE counter++<5 [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=4, b=1, counter=4, p=1, q=0, r=-3, s=1, x=7, y=1] [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=4, b=1, counter=4, p=1, q=0, r=-3, s=1, x=7, y=1] [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=4, b=1, counter=4, p=1, q=0, r=-3, s=1, x=7, y=1] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=4, b=1, counter=4, p=1, q=0, r=-3, s=1, x=7, y=1] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=3, b=1, counter=4, p=1, q=0, r=-4, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=3, b=1, counter=5, counter++=4, p=1, q=0, r=-4, s=1, x=7, y=1] [L34] COND TRUE counter++<5 [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=3, b=1, counter=5, p=1, q=0, r=-4, s=1, x=7, y=1] [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=3, b=1, counter=5, p=1, q=0, r=-4, s=1, x=7, y=1] [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=3, b=1, counter=5, p=1, q=0, r=-4, s=1, x=7, y=1] [L39] COND FALSE !(!(a != b)) VAL [\old(counter)=0, a=3, b=1, counter=5, p=1, q=0, r=-4, s=1, x=7, y=1] [L42] COND TRUE a > b [L43] a = a - b [L44] p = p - q [L45] r = r - s VAL [\old(counter)=0, a=2, b=1, counter=5, p=1, q=0, r=-5, s=1, x=7, y=1] [L34] EXPR counter++ VAL [\old(counter)=0, a=2, b=1, counter=6, counter++=5, p=1, q=0, r=-5, s=1, x=7, y=1] [L34] COND FALSE !(counter++<5) [L53] CALL __VERIFIER_assert(a - b == 0) VAL [\old(cond)=0, \old(counter)=0, counter=6] [L11] COND TRUE !(cond) VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] [L13] reach_error() VAL [\old(cond)=0, \old(counter)=0, cond=0, counter=6] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 77.5s, OverallIterations: 13, TraceHistogramMax: 16, PathProgramHistogramMax: 3, EmptinessCheckTime: 0.0s, AutomataDifference: 7.2s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 221 SdHoareTripleChecker+Valid, 1.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 188 mSDsluCounter, 1599 SdHoareTripleChecker+Invalid, 1.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1115 mSDsCounter, 113 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 818 IncrementalHoareTripleChecker+Invalid, 931 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 113 mSolverCounterUnsat, 484 mSDtfsCounter, 818 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 821 GetRequests, 733 SyntacticMatches, 9 SemanticMatches, 79 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=242occurred in iteration=12, InterpolantAutomatonStates: 80, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 12 MinimizatonAttempts, 40 StatesRemovedByMinimization, 8 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 65.4s InterpolantComputationTime, 621 NumberOfCodeBlocks, 621 NumberOfCodeBlocksAsserted, 25 NumberOfCheckSat, 811 ConstructedInterpolants, 0 QuantifiedInterpolants, 2401 SizeOfPredicates, 23 NumberOfNonLiveVariables, 1453 ConjunctsInSsa, 127 ConjunctsInUnsatCore, 18 InterpolantComputations, 7 PerfectInterpolantSequences, 790/1151 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:40,911 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...