/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/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:13:57,966 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:13:57,968 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:13:58,001 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:13:58,001 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:13:58,002 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:13:58,003 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:13:58,005 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:13:58,006 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:13:58,007 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:13:58,008 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:13:58,008 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:13:58,009 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:13:58,009 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:13:58,010 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:13:58,011 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:13:58,012 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:13:58,012 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:13:58,014 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:13:58,015 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:13:58,016 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:13:58,017 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:13:58,018 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:13:58,019 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:13:58,020 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:13:58,022 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:13:58,023 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:13:58,023 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:13:58,023 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:13:58,024 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:13:58,024 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:13:58,025 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:13:58,025 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:13:58,026 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:13:58,026 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:13:58,027 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:13:58,027 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:13:58,028 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:13:58,028 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:13:58,028 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:13:58,029 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:13:58,030 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:13:58,030 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:13:58,038 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:13:58,038 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:13:58,039 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:13:58,039 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:13:58,039 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:13:58,040 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:13:58,041 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:13:58,041 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:13:58,041 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:13:58,041 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:13:58,041 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:13:58,042 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:13:58,042 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:13:58,042 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:13:58,042 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:13:58,042 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:13:58,042 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:13:58,043 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 12:13:58,230 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:13:58,255 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:13:58,257 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:13:58,258 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:13:58,258 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:13:58,259 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-28 12:13:58,312 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e1a2057da/5562afc7bbc644c0b888caa13643cf44/FLAG37a2e5454 [2022-04-28 12:13:58,719 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:13:58,720 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_valuebound2.c [2022-04-28 12:13:58,725 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e1a2057da/5562afc7bbc644c0b888caa13643cf44/FLAG37a2e5454 [2022-04-28 12:13:58,736 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e1a2057da/5562afc7bbc644c0b888caa13643cf44 [2022-04-28 12:13:58,738 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:13:58,739 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:13:58,740 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:13:58,740 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:13:58,745 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:13:58,746 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,747 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1bda5ba7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58, skipping insertion in model container [2022-04-28 12:13:58,747 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,751 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:13:58,762 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:13:58,895 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_valuebound2.c[489,502] [2022-04-28 12:13:58,919 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:13:58,927 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:13:58,936 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_valuebound2.c[489,502] [2022-04-28 12:13:58,944 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:13:58,955 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:13:58,956 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58 WrapperNode [2022-04-28 12:13:58,956 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:13:58,957 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:13:58,957 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:13:58,957 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:13:58,969 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,969 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,976 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,977 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,982 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,987 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,993 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:58,995 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:13:58,996 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:13:58,996 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:13:58,996 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:13:58,997 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (1/1) ... [2022-04-28 12:13:59,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:13:59,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:13:59,029 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-28 12:13:59,031 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-28 12:13:59,056 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:13:59,056 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:13:59,057 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:13:59,057 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:13:59,057 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:13:59,057 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:13:59,057 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:13:59,057 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:13:59,057 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:13:59,057 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:13:59,057 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:13:59,058 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:13:59,114 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:13:59,115 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:13:59,255 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:13:59,261 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:13:59,261 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 12:13:59,263 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:13:59 BoogieIcfgContainer [2022-04-28 12:13:59,263 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:13:59,264 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:13:59,264 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:13:59,267 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:13:59,267 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:13:58" (1/3) ... [2022-04-28 12:13:59,268 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d64e715 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:13:59, skipping insertion in model container [2022-04-28 12:13:59,268 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:13:58" (2/3) ... [2022-04-28 12:13:59,268 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d64e715 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:13:59, skipping insertion in model container [2022-04-28 12:13:59,269 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:13:59" (3/3) ... [2022-04-28 12:13:59,270 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_valuebound2.c [2022-04-28 12:13:59,282 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:13:59,282 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:13:59,323 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:13:59,329 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, 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@6d0580fa, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@7c02ad7e [2022-04-28 12:13:59,329 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:13:59,337 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:13:59,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:13:59,345 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:13:59,346 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:13:59,348 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:13:59,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:13:59,352 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 1 times [2022-04-28 12:13:59,367 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:59,368 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1498546527] [2022-04-28 12:13:59,382 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:13:59,383 INFO L85 PathProgramCache]: Analyzing trace with hash 870870740, now seen corresponding path program 2 times [2022-04-28 12:13:59,386 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:13:59,387 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [240731507] [2022-04-28 12:13:59,387 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:13:59,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:13:59,471 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,522 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:13:59,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:13:59,545 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:13:59,545 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:13:59,548 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:13:59,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:13:59,567 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:13:59,570 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,582 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:13:59,584 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:13:59,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,600 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,601 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:13:59,602 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:13:59,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:13:59,615 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:13:59,619 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:13:59,619 INFO L290 TraceCheckUtils]: 1: Hoare triple {61#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {40#true} is VALID [2022-04-28 12:13:59,620 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-28 12:13:59,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #88#return; {40#true} is VALID [2022-04-28 12:13:59,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret6 := main(); {40#true} is VALID [2022-04-28 12:13:59,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#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; {40#true} is VALID [2022-04-28 12:13:59,621 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-28 12:13:59,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #66#return; {41#false} is VALID [2022-04-28 12:13:59,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {41#false} is VALID [2022-04-28 12:13:59,624 INFO L272 TraceCheckUtils]: 12: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {40#true} is VALID [2022-04-28 12:13:59,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,625 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,625 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {41#false} {41#false} #68#return; {41#false} is VALID [2022-04-28 12:13:59,625 INFO L272 TraceCheckUtils]: 17: Hoare triple {41#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:13:59,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,627 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {41#false} {41#false} #70#return; {41#false} is VALID [2022-04-28 12:13:59,627 INFO L272 TraceCheckUtils]: 22: Hoare triple {41#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-28 12:13:59,627 INFO L290 TraceCheckUtils]: 23: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-28 12:13:59,629 INFO L290 TraceCheckUtils]: 24: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-28 12:13:59,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-28 12:13:59,630 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {41#false} {41#false} #72#return; {41#false} is VALID [2022-04-28 12:13:59,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {41#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {41#false} is VALID [2022-04-28 12:13:59,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {41#false} assume false; {41#false} is VALID [2022-04-28 12:13:59,633 INFO L272 TraceCheckUtils]: 29: Hoare triple {41#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {41#false} is VALID [2022-04-28 12:13:59,633 INFO L290 TraceCheckUtils]: 30: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-28 12:13:59,634 INFO L290 TraceCheckUtils]: 31: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-28 12:13:59,634 INFO L290 TraceCheckUtils]: 32: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-28 12:13:59,635 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:13:59,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:13:59,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [240731507] [2022-04-28 12:13:59,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [240731507] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:13:59,637 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:13:59,637 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:13:59,644 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:13:59,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1498546527] [2022-04-28 12:13:59,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1498546527] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:13:59,646 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:13:59,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:13:59,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [821355386] [2022-04-28 12:13:59,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:13:59,652 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:13:59,654 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:13:59,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:13:59,702 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:13:59,703 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:13:59,703 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:13:59,732 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:13:59,733 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:13:59,736 INFO L87 Difference]: Start difference. First operand has 37 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 13 states have call successors, (13), 4 states have call predecessors, (13), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:13:59,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:13:59,962 INFO L93 Difference]: Finished difference Result 67 states and 105 transitions. [2022-04-28 12:13:59,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:13:59,962 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 12:13:59,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:13:59,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:13:59,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:13:59,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:13:59,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2022-04-28 12:13:59,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 105 transitions. [2022-04-28 12:14:00,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:00,117 INFO L225 Difference]: With dead ends: 67 [2022-04-28 12:14:00,117 INFO L226 Difference]: Without dead ends: 32 [2022-04-28 12:14:00,120 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:14:00,123 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:00,125 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 39 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:00,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-28 12:14:00,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-28 12:14:00,154 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:00,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:00,156 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:00,156 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:00,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:00,179 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:00,179 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:00,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:00,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:00,181 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:00,181 INFO L87 Difference]: Start difference. First operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 32 states. [2022-04-28 12:14:00,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:00,185 INFO L93 Difference]: Finished difference Result 32 states and 42 transitions. [2022-04-28 12:14:00,186 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:00,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:00,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:00,187 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:00,187 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:00,188 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 15 states have (on average 1.2) internal successors, (18), 16 states have internal predecessors, (18), 13 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 12:14:00,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-28 12:14:00,192 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 33 [2022-04-28 12:14:00,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:00,193 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-28 12:14:00,193 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 12:14:00,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 42 transitions. [2022-04-28 12:14:00,242 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-28 12:14:00,242 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-28 12:14:00,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 12:14:00,243 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:00,243 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:00,244 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:14:00,244 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:00,245 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:00,245 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 1 times [2022-04-28 12:14:00,245 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:00,245 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1802511567] [2022-04-28 12:14:00,246 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:00,246 INFO L85 PathProgramCache]: Analyzing trace with hash -1006914976, now seen corresponding path program 2 times [2022-04-28 12:14:00,246 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:00,247 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [363655130] [2022-04-28 12:14:00,247 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:00,247 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:00,271 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:00,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [315126429] [2022-04-28 12:14:00,272 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:00,272 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:00,272 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:00,274 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-28 12:14:00,295 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-28 12:14:00,338 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:14:00,338 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:00,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 74 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:14:00,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:00,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:03,071 INFO L272 TraceCheckUtils]: 0: Hoare triple {326#true} call ULTIMATE.init(); {326#true} is VALID [2022-04-28 12:14:03,071 INFO L290 TraceCheckUtils]: 1: Hoare triple {326#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); {326#true} is VALID [2022-04-28 12:14:03,071 INFO L290 TraceCheckUtils]: 2: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:03,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {326#true} {326#true} #88#return; {326#true} is VALID [2022-04-28 12:14:03,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {326#true} call #t~ret6 := main(); {326#true} is VALID [2022-04-28 12:14:03,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {326#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; {326#true} is VALID [2022-04-28 12:14:03,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:03,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:03,073 INFO L290 TraceCheckUtils]: 8: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:03,073 INFO L290 TraceCheckUtils]: 9: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:03,073 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {326#true} {326#true} #66#return; {326#true} is VALID [2022-04-28 12:14:03,073 INFO L290 TraceCheckUtils]: 11: Hoare triple {326#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {326#true} is VALID [2022-04-28 12:14:03,073 INFO L272 TraceCheckUtils]: 12: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:03,074 INFO L290 TraceCheckUtils]: 13: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:03,074 INFO L290 TraceCheckUtils]: 14: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:03,074 INFO L290 TraceCheckUtils]: 15: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:03,074 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {326#true} {326#true} #68#return; {326#true} is VALID [2022-04-28 12:14:03,075 INFO L272 TraceCheckUtils]: 17: Hoare triple {326#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:03,075 INFO L290 TraceCheckUtils]: 18: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:03,075 INFO L290 TraceCheckUtils]: 19: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:03,075 INFO L290 TraceCheckUtils]: 20: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:03,075 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {326#true} {326#true} #70#return; {326#true} is VALID [2022-04-28 12:14:03,076 INFO L272 TraceCheckUtils]: 22: Hoare triple {326#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {326#true} is VALID [2022-04-28 12:14:03,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {326#true} ~cond := #in~cond; {326#true} is VALID [2022-04-28 12:14:03,076 INFO L290 TraceCheckUtils]: 24: Hoare triple {326#true} assume !(0 == ~cond); {326#true} is VALID [2022-04-28 12:14:03,076 INFO L290 TraceCheckUtils]: 25: Hoare triple {326#true} assume true; {326#true} is VALID [2022-04-28 12:14:03,076 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {326#true} {326#true} #72#return; {326#true} is VALID [2022-04-28 12:14:03,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {326#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:03,078 INFO L290 TraceCheckUtils]: 28: Hoare triple {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {412#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-28 12:14:03,079 INFO L272 TraceCheckUtils]: 29: Hoare triple {412#(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)); {419#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:03,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {419#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {423#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:03,080 INFO L290 TraceCheckUtils]: 31: Hoare triple {423#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {327#false} is VALID [2022-04-28 12:14:03,080 INFO L290 TraceCheckUtils]: 32: Hoare triple {327#false} assume !false; {327#false} is VALID [2022-04-28 12:14:03,081 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 12:14:03,081 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:03,081 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:03,081 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [363655130] [2022-04-28 12:14:03,081 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:03,082 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [315126429] [2022-04-28 12:14:03,082 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [315126429] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:03,082 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:03,082 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:03,083 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:03,083 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1802511567] [2022-04-28 12:14:03,083 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1802511567] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:03,084 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:03,084 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:03,084 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1463629872] [2022-04-28 12:14:03,084 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:03,085 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:14:03,085 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:03,085 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:03,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:03,108 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:03,108 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:03,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:03,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:03,110 INFO L87 Difference]: Start difference. First operand 32 states and 42 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:03,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:03,419 INFO L93 Difference]: Finished difference Result 48 states and 65 transitions. [2022-04-28 12:14:03,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:03,420 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 33 [2022-04-28 12:14:03,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:03,420 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:03,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:03,424 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:03,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:14:03,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:14:03,490 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:03,494 INFO L225 Difference]: With dead ends: 48 [2022-04-28 12:14:03,495 INFO L226 Difference]: Without dead ends: 46 [2022-04-28 12:14:03,495 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 29 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-28 12:14:03,497 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 101 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 143 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.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:03,502 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [13 Valid, 143 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:14:03,505 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-28 12:14:03,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-04-28 12:14:03,528 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:03,529 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:03,531 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:03,532 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:03,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:03,541 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:03,542 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:03,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:03,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:03,543 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:03,544 INFO L87 Difference]: Start difference. First operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 46 states. [2022-04-28 12:14:03,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:03,549 INFO L93 Difference]: Finished difference Result 46 states and 63 transitions. [2022-04-28 12:14:03,549 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-28 12:14:03,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:03,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:03,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:03,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:03,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 23 states have internal predecessors, (26), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:03,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 62 transitions. [2022-04-28 12:14:03,559 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 62 transitions. Word has length 33 [2022-04-28 12:14:03,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:03,559 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 62 transitions. [2022-04-28 12:14:03,560 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, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 12:14:03,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 62 transitions. [2022-04-28 12:14:03,638 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-28 12:14:03,638 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 62 transitions. [2022-04-28 12:14:03,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 12:14:03,646 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:03,647 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:03,678 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 12:14:03,873 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:03,874 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:03,874 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:03,875 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 1 times [2022-04-28 12:14:03,875 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:03,875 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1088326221] [2022-04-28 12:14:03,875 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:03,875 INFO L85 PathProgramCache]: Analyzing trace with hash -124657161, now seen corresponding path program 2 times [2022-04-28 12:14:03,875 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:03,876 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1752269856] [2022-04-28 12:14:03,876 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:03,876 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:03,907 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:03,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1872020026] [2022-04-28 12:14:03,908 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:03,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:03,908 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:03,909 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-28 12:14:03,911 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-28 12:14:03,955 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:03,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:03,957 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:14:03,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:03,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:06,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {709#true} call ULTIMATE.init(); {709#true} is VALID [2022-04-28 12:14:06,568 INFO L290 TraceCheckUtils]: 1: Hoare triple {709#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); {709#true} is VALID [2022-04-28 12:14:06,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:06,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {709#true} {709#true} #88#return; {709#true} is VALID [2022-04-28 12:14:06,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {709#true} call #t~ret6 := main(); {709#true} is VALID [2022-04-28 12:14:06,568 INFO L290 TraceCheckUtils]: 5: Hoare triple {709#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; {709#true} is VALID [2022-04-28 12:14:06,569 INFO L272 TraceCheckUtils]: 6: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:06,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:06,569 INFO L290 TraceCheckUtils]: 8: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:06,569 INFO L290 TraceCheckUtils]: 9: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:06,569 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {709#true} {709#true} #66#return; {709#true} is VALID [2022-04-28 12:14:06,570 INFO L290 TraceCheckUtils]: 11: Hoare triple {709#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {709#true} is VALID [2022-04-28 12:14:06,570 INFO L272 TraceCheckUtils]: 12: Hoare triple {709#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:06,570 INFO L290 TraceCheckUtils]: 13: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:06,570 INFO L290 TraceCheckUtils]: 14: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:06,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:06,570 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {709#true} {709#true} #68#return; {709#true} is VALID [2022-04-28 12:14:06,571 INFO L272 TraceCheckUtils]: 17: Hoare triple {709#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:06,573 INFO L290 TraceCheckUtils]: 18: Hoare triple {709#true} ~cond := #in~cond; {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:14:06,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {768#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:14:06,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {772#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {772#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:14:06,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {772#(not (= |assume_abort_if_not_#in~cond| 0))} {709#true} #70#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-28 12:14:06,575 INFO L272 TraceCheckUtils]: 22: Hoare triple {779#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {709#true} is VALID [2022-04-28 12:14:06,575 INFO L290 TraceCheckUtils]: 23: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:06,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:06,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:06,576 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {709#true} {779#(<= 1 main_~x~0)} #72#return; {779#(<= 1 main_~x~0)} is VALID [2022-04-28 12:14:06,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {779#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:06,577 INFO L290 TraceCheckUtils]: 28: Hoare triple {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:06,577 INFO L272 TraceCheckUtils]: 29: Hoare triple {798#(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)); {709#true} is VALID [2022-04-28 12:14:06,577 INFO L290 TraceCheckUtils]: 30: Hoare triple {709#true} ~cond := #in~cond; {709#true} is VALID [2022-04-28 12:14:06,577 INFO L290 TraceCheckUtils]: 31: Hoare triple {709#true} assume !(0 == ~cond); {709#true} is VALID [2022-04-28 12:14:06,578 INFO L290 TraceCheckUtils]: 32: Hoare triple {709#true} assume true; {709#true} is VALID [2022-04-28 12:14:06,579 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {709#true} {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #74#return; {798#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:06,580 INFO L272 TraceCheckUtils]: 34: Hoare triple {798#(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)); {820#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:06,591 INFO L290 TraceCheckUtils]: 35: Hoare triple {820#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {824#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:06,592 INFO L290 TraceCheckUtils]: 36: Hoare triple {824#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {710#false} is VALID [2022-04-28 12:14:06,592 INFO L290 TraceCheckUtils]: 37: Hoare triple {710#false} assume !false; {710#false} is VALID [2022-04-28 12:14:06,592 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 12:14:06,592 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:14:42,739 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:42,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1752269856] [2022-04-28 12:14:42,740 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:42,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1872020026] [2022-04-28 12:14:42,740 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1872020026] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:14:42,740 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:14:42,740 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8] total 8 [2022-04-28 12:14:42,741 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:42,741 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1088326221] [2022-04-28 12:14:42,741 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1088326221] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:42,741 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:42,741 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:14:42,741 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2133334549] [2022-04-28 12:14:42,741 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:42,742 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 12:14:42,742 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:42,743 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:14:42,776 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-28 12:14:42,777 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:14:42,777 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:42,778 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:14:42,778 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:14:42,778 INFO L87 Difference]: Start difference. First operand 45 states and 62 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:14:43,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:43,263 INFO L93 Difference]: Finished difference Result 52 states and 68 transitions. [2022-04-28 12:14:43,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:14:43,264 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-28 12:14:43,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:43,264 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:14:43,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 12:14:43,267 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:14:43,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 12:14:43,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 12:14:43,332 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:43,334 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:14:43,334 INFO L226 Difference]: Without dead ends: 50 [2022-04-28 12:14:43,334 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 34 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-28 12:14:43,335 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 127 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 134 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 127 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:43,336 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 161 Invalid, 134 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 127 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:14:43,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-28 12:14:43,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-04-28 12:14:43,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:43,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:43,364 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:43,365 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:43,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:43,369 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:43,369 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:43,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:43,370 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:43,370 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:43,371 INFO L87 Difference]: Start difference. First operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 50 states. [2022-04-28 12:14:43,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:43,374 INFO L93 Difference]: Finished difference Result 50 states and 66 transitions. [2022-04-28 12:14:43,374 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-28 12:14:43,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:43,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:43,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:43,375 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:43,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 26 states have internal predecessors, (29), 19 states have call successors, (19), 6 states have call predecessors, (19), 5 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 12:14:43,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 65 transitions. [2022-04-28 12:14:43,378 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 65 transitions. Word has length 38 [2022-04-28 12:14:43,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:43,378 INFO L495 AbstractCegarLoop]: Abstraction has 49 states and 65 transitions. [2022-04-28 12:14:43,379 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, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 12:14:43,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 49 states and 65 transitions. [2022-04-28 12:14:43,460 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:43,460 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 65 transitions. [2022-04-28 12:14:43,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:14:43,461 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:43,461 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:43,488 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-28 12:14:43,675 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 12:14:43,676 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:43,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:43,676 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 1 times [2022-04-28 12:14:43,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:43,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2083150712] [2022-04-28 12:14:43,677 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:43,677 INFO L85 PathProgramCache]: Analyzing trace with hash 1732898944, now seen corresponding path program 2 times [2022-04-28 12:14:43,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:43,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1498414545] [2022-04-28 12:14:43,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:43,678 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:43,701 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:43,702 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1954736664] [2022-04-28 12:14:43,702 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:43,702 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:43,702 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:43,703 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-28 12:14:43,726 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-28 12:14:43,770 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:43,770 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:43,771 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:14:43,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:43,792 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:48,051 INFO L272 TraceCheckUtils]: 0: Hoare triple {1152#true} call ULTIMATE.init(); {1152#true} is VALID [2022-04-28 12:14:48,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {1152#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); {1152#true} is VALID [2022-04-28 12:14:48,052 INFO L290 TraceCheckUtils]: 2: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1152#true} {1152#true} #88#return; {1152#true} is VALID [2022-04-28 12:14:48,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {1152#true} call #t~ret6 := main(); {1152#true} is VALID [2022-04-28 12:14:48,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {1152#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; {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L272 TraceCheckUtils]: 6: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L290 TraceCheckUtils]: 7: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L290 TraceCheckUtils]: 8: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L290 TraceCheckUtils]: 9: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1152#true} {1152#true} #66#return; {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L290 TraceCheckUtils]: 11: Hoare triple {1152#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1152#true} is VALID [2022-04-28 12:14:48,053 INFO L272 TraceCheckUtils]: 12: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L290 TraceCheckUtils]: 13: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L290 TraceCheckUtils]: 14: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L290 TraceCheckUtils]: 15: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1152#true} {1152#true} #68#return; {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L272 TraceCheckUtils]: 17: Hoare triple {1152#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-28 12:14:48,055 INFO L290 TraceCheckUtils]: 19: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-28 12:14:48,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,055 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1152#true} {1152#true} #70#return; {1152#true} is VALID [2022-04-28 12:14:48,055 INFO L272 TraceCheckUtils]: 22: Hoare triple {1152#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,055 INFO L290 TraceCheckUtils]: 23: Hoare triple {1152#true} ~cond := #in~cond; {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:14:48,056 INFO L290 TraceCheckUtils]: 24: Hoare triple {1226#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:14:48,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1230#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:14:48,057 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1230#(not (= |assume_abort_if_not_#in~cond| 0))} {1152#true} #72#return; {1237#(<= 1 main_~y~0)} is VALID [2022-04-28 12:14:48,058 INFO L290 TraceCheckUtils]: 27: Hoare triple {1237#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:14:48,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !false; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:14:48,058 INFO L272 TraceCheckUtils]: 29: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,059 INFO L290 TraceCheckUtils]: 30: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-28 12:14:48,059 INFO L290 TraceCheckUtils]: 31: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-28 12:14:48,059 INFO L290 TraceCheckUtils]: 32: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,060 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #74#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:14:48,060 INFO L272 TraceCheckUtils]: 34: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1152#true} is VALID [2022-04-28 12:14:48,060 INFO L290 TraceCheckUtils]: 35: Hoare triple {1152#true} ~cond := #in~cond; {1152#true} is VALID [2022-04-28 12:14:48,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {1152#true} assume !(0 == ~cond); {1152#true} is VALID [2022-04-28 12:14:48,061 INFO L290 TraceCheckUtils]: 37: Hoare triple {1152#true} assume true; {1152#true} is VALID [2022-04-28 12:14:48,061 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1152#true} {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #76#return; {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-28 12:14:48,062 INFO L272 TraceCheckUtils]: 39: Hoare triple {1241#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:48,063 INFO L290 TraceCheckUtils]: 40: Hoare triple {1278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:48,063 INFO L290 TraceCheckUtils]: 41: Hoare triple {1282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1153#false} is VALID [2022-04-28 12:14:48,063 INFO L290 TraceCheckUtils]: 42: Hoare triple {1153#false} assume !false; {1153#false} is VALID [2022-04-28 12:14:48,064 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 12:14:48,064 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:48,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:48,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1498414545] [2022-04-28 12:14:48,064 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:48,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1954736664] [2022-04-28 12:14:48,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1954736664] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:48,065 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:48,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:14:48,065 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:48,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2083150712] [2022-04-28 12:14:48,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2083150712] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:48,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:48,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:14:48,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [755702680] [2022-04-28 12:14:48,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:48,066 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:14:48,067 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:48,067 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:48,100 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:48,101 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:14:48,101 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:48,102 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:14:48,102 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:14:48,102 INFO L87 Difference]: Start difference. First operand 49 states and 65 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:48,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:48,856 INFO L93 Difference]: Finished difference Result 74 states and 105 transitions. [2022-04-28 12:14:48,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:14:48,856 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:14:48,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:48,857 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:48,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 12:14:48,859 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:48,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 12:14:48,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 12:14:48,928 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:48,932 INFO L225 Difference]: With dead ends: 74 [2022-04-28 12:14:48,932 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 12:14:48,933 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:14:48,934 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 17 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 145 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 145 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:48,934 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 175 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 145 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:14:48,935 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 12:14:48,988 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2022-04-28 12:14:48,988 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:48,989 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:48,989 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:48,991 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:48,998 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:48,998 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:48,998 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:48,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:48,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:48,999 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:48,999 INFO L87 Difference]: Start difference. First operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 70 states. [2022-04-28 12:14:49,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:49,004 INFO L93 Difference]: Finished difference Result 70 states and 98 transitions. [2022-04-28 12:14:49,004 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:49,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:49,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:49,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:49,005 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:49,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 33 states have (on average 1.2727272727272727) internal successors, (42), 37 states have internal predecessors, (42), 30 states have call successors, (30), 7 states have call predecessors, (30), 6 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:49,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 98 transitions. [2022-04-28 12:14:49,009 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 98 transitions. Word has length 43 [2022-04-28 12:14:49,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:49,009 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 98 transitions. [2022-04-28 12:14:49,009 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), 2 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:14:49,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 98 transitions. [2022-04-28 12:14:49,141 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:49,141 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 98 transitions. [2022-04-28 12:14:49,142 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 12:14:49,142 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:49,142 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:49,161 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-28 12:14:49,351 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:49,352 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:49,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:49,352 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 1 times [2022-04-28 12:14:49,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:49,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [525375651] [2022-04-28 12:14:49,353 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:49,353 INFO L85 PathProgramCache]: Analyzing trace with hash -301191846, now seen corresponding path program 2 times [2022-04-28 12:14:49,353 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:49,353 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400197104] [2022-04-28 12:14:49,353 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:49,353 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:49,369 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:49,370 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1902211760] [2022-04-28 12:14:49,370 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:49,370 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:49,370 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:49,371 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-28 12:14:49,379 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-28 12:14:49,436 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:49,436 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:49,437 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:14:49,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:49,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:49,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {1720#true} call ULTIMATE.init(); {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {1720#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); {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1720#true} {1720#true} #88#return; {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {1720#true} call #t~ret6 := main(); {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L290 TraceCheckUtils]: 5: Hoare triple {1720#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; {1720#true} is VALID [2022-04-28 12:14:49,575 INFO L272 TraceCheckUtils]: 6: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L290 TraceCheckUtils]: 7: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L290 TraceCheckUtils]: 8: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L290 TraceCheckUtils]: 9: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1720#true} {1720#true} #66#return; {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L290 TraceCheckUtils]: 11: Hoare triple {1720#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1720#true} is VALID [2022-04-28 12:14:49,576 INFO L272 TraceCheckUtils]: 12: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1720#true} {1720#true} #68#return; {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L272 TraceCheckUtils]: 17: Hoare triple {1720#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L290 TraceCheckUtils]: 18: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,577 INFO L290 TraceCheckUtils]: 19: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1720#true} {1720#true} #70#return; {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L272 TraceCheckUtils]: 22: Hoare triple {1720#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,578 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1720#true} {1720#true} #72#return; {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L290 TraceCheckUtils]: 27: Hoare triple {1720#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L290 TraceCheckUtils]: 28: Hoare triple {1720#true} assume !false; {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L272 TraceCheckUtils]: 29: Hoare triple {1720#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L290 TraceCheckUtils]: 32: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,579 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1720#true} {1720#true} #74#return; {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L272 TraceCheckUtils]: 34: Hoare triple {1720#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L290 TraceCheckUtils]: 36: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L290 TraceCheckUtils]: 37: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1720#true} {1720#true} #76#return; {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L272 TraceCheckUtils]: 39: Hoare triple {1720#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L290 TraceCheckUtils]: 40: Hoare triple {1720#true} ~cond := #in~cond; {1720#true} is VALID [2022-04-28 12:14:49,580 INFO L290 TraceCheckUtils]: 41: Hoare triple {1720#true} assume !(0 == ~cond); {1720#true} is VALID [2022-04-28 12:14:49,581 INFO L290 TraceCheckUtils]: 42: Hoare triple {1720#true} assume true; {1720#true} is VALID [2022-04-28 12:14:49,581 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1720#true} {1720#true} #78#return; {1720#true} is VALID [2022-04-28 12:14:49,581 INFO L290 TraceCheckUtils]: 44: Hoare triple {1720#true} assume !(~a~0 != ~b~0); {1857#(= main_~b~0 main_~a~0)} is VALID [2022-04-28 12:14:49,582 INFO L272 TraceCheckUtils]: 45: Hoare triple {1857#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:49,583 INFO L290 TraceCheckUtils]: 46: Hoare triple {1861#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1865#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:49,583 INFO L290 TraceCheckUtils]: 47: Hoare triple {1865#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1721#false} is VALID [2022-04-28 12:14:49,583 INFO L290 TraceCheckUtils]: 48: Hoare triple {1721#false} assume !false; {1721#false} is VALID [2022-04-28 12:14:49,584 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:14:49,584 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:49,584 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:49,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400197104] [2022-04-28 12:14:49,584 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:49,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1902211760] [2022-04-28 12:14:49,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1902211760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:49,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:49,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:49,585 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:49,585 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [525375651] [2022-04-28 12:14:49,585 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [525375651] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:49,585 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:49,585 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:49,585 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [875769707] [2022-04-28 12:14:49,585 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:49,586 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:49,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:49,586 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:49,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:49,617 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:49,617 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:49,617 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:49,617 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:49,618 INFO L87 Difference]: Start difference. First operand 70 states and 98 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:49,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:49,814 INFO L93 Difference]: Finished difference Result 76 states and 103 transitions. [2022-04-28 12:14:49,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:49,814 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) Word has length 49 [2022-04-28 12:14:49,814 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:49,814 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:49,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:49,816 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:49,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 47 transitions. [2022-04-28 12:14:49,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 47 transitions. [2022-04-28 12:14:49,857 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:49,860 INFO L225 Difference]: With dead ends: 76 [2022-04-28 12:14:49,860 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 12:14:49,860 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 45 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-28 12:14:49,861 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 5 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:49,861 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 139 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:49,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 12:14:49,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 12:14:49,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:49,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:49,928 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:49,929 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:49,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:49,932 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:49,932 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:49,933 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:49,933 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:49,933 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:49,934 INFO L87 Difference]: Start difference. First operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) Second operand 74 states. [2022-04-28 12:14:49,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:49,938 INFO L93 Difference]: Finished difference Result 74 states and 101 transitions. [2022-04-28 12:14:49,938 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:49,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:49,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:49,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:49,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:49,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 36 states have (on average 1.25) internal successors, (45), 40 states have internal predecessors, (45), 30 states have call successors, (30), 8 states have call predecessors, (30), 7 states have return successors, (26), 25 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-28 12:14:49,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 101 transitions. [2022-04-28 12:14:49,942 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 101 transitions. Word has length 49 [2022-04-28 12:14:49,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:49,943 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 101 transitions. [2022-04-28 12:14:49,943 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 1 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 12:14:49,943 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 101 transitions. [2022-04-28 12:14:50,060 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-28 12:14:50,060 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 101 transitions. [2022-04-28 12:14:50,061 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-04-28 12:14:50,061 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:50,061 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:50,078 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 12:14:50,261 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:50,262 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:50,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:50,262 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 1 times [2022-04-28 12:14:50,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:50,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [286755766] [2022-04-28 12:14:50,263 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:50,263 INFO L85 PathProgramCache]: Analyzing trace with hash -1164909737, now seen corresponding path program 2 times [2022-04-28 12:14:50,263 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:50,263 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [173979118] [2022-04-28 12:14:50,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:50,264 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:50,279 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:50,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [527587569] [2022-04-28 12:14:50,280 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:50,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:50,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:50,281 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-28 12:14:50,282 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-28 12:14:50,327 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:50,328 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:50,329 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 12:14:50,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:50,340 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:54,555 INFO L272 TraceCheckUtils]: 0: Hoare triple {2321#true} call ULTIMATE.init(); {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L290 TraceCheckUtils]: 1: Hoare triple {2321#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); {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L290 TraceCheckUtils]: 2: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2321#true} {2321#true} #88#return; {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L272 TraceCheckUtils]: 4: Hoare triple {2321#true} call #t~ret6 := main(); {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L290 TraceCheckUtils]: 5: Hoare triple {2321#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; {2321#true} is VALID [2022-04-28 12:14:54,556 INFO L272 TraceCheckUtils]: 6: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2321#true} {2321#true} #66#return; {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 11: Hoare triple {2321#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L272 TraceCheckUtils]: 12: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,557 INFO L290 TraceCheckUtils]: 15: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2321#true} {2321#true} #68#return; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L272 TraceCheckUtils]: 17: Hoare triple {2321#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L290 TraceCheckUtils]: 18: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L290 TraceCheckUtils]: 19: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L290 TraceCheckUtils]: 20: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2321#true} {2321#true} #70#return; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L272 TraceCheckUtils]: 22: Hoare triple {2321#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L290 TraceCheckUtils]: 23: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,558 INFO L290 TraceCheckUtils]: 24: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,559 INFO L290 TraceCheckUtils]: 25: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,559 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2321#true} {2321#true} #72#return; {2321#true} is VALID [2022-04-28 12:14:54,559 INFO L290 TraceCheckUtils]: 27: Hoare triple {2321#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,560 INFO L290 TraceCheckUtils]: 28: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,560 INFO L272 TraceCheckUtils]: 29: Hoare triple {2407#(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)); {2321#true} is VALID [2022-04-28 12:14:54,560 INFO L290 TraceCheckUtils]: 30: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,560 INFO L290 TraceCheckUtils]: 31: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,560 INFO L290 TraceCheckUtils]: 32: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,561 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #74#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,561 INFO L272 TraceCheckUtils]: 34: Hoare triple {2407#(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)); {2321#true} is VALID [2022-04-28 12:14:54,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,562 INFO L290 TraceCheckUtils]: 36: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,562 INFO L290 TraceCheckUtils]: 37: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,563 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #76#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,563 INFO L272 TraceCheckUtils]: 39: Hoare triple {2407#(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)); {2321#true} is VALID [2022-04-28 12:14:54,563 INFO L290 TraceCheckUtils]: 40: Hoare triple {2321#true} ~cond := #in~cond; {2321#true} is VALID [2022-04-28 12:14:54,563 INFO L290 TraceCheckUtils]: 41: Hoare triple {2321#true} assume !(0 == ~cond); {2321#true} is VALID [2022-04-28 12:14:54,563 INFO L290 TraceCheckUtils]: 42: Hoare triple {2321#true} assume true; {2321#true} is VALID [2022-04-28 12:14:54,564 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2321#true} {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #78#return; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,565 INFO L290 TraceCheckUtils]: 44: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,565 INFO L290 TraceCheckUtils]: 45: Hoare triple {2407#(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; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,566 INFO L290 TraceCheckUtils]: 46: Hoare triple {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2407#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:14:54,566 INFO L272 TraceCheckUtils]: 47: Hoare triple {2407#(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)); {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:54,567 INFO L290 TraceCheckUtils]: 48: Hoare triple {2468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:54,567 INFO L290 TraceCheckUtils]: 49: Hoare triple {2472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2322#false} is VALID [2022-04-28 12:14:54,567 INFO L290 TraceCheckUtils]: 50: Hoare triple {2322#false} assume !false; {2322#false} is VALID [2022-04-28 12:14:54,568 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 38 trivial. 0 not checked. [2022-04-28 12:14:54,568 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:14:54,568 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:14:54,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [173979118] [2022-04-28 12:14:54,568 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:14:54,568 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [527587569] [2022-04-28 12:14:54,568 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [527587569] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:54,568 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:54,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:54,569 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:14:54,569 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [286755766] [2022-04-28 12:14:54,569 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [286755766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:14:54,569 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:14:54,569 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:14:54,569 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [15482486] [2022-04-28 12:14:54,569 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:14:54,570 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:14:54,570 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:14:54,570 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:54,603 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:54,603 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:14:54,604 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:54,604 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:14:54,604 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:14:54,604 INFO L87 Difference]: Start difference. First operand 74 states and 101 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:54,852 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,852 INFO L93 Difference]: Finished difference Result 84 states and 109 transitions. [2022-04-28 12:14:54,852 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:14:54,853 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 51 [2022-04-28 12:14:54,853 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:14:54,853 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:54,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:54,855 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:54,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:14:54,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:14:54,912 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:54,914 INFO L225 Difference]: With dead ends: 84 [2022-04-28 12:14:54,915 INFO L226 Difference]: Without dead ends: 81 [2022-04-28 12:14:54,915 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 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-28 12:14:54,916 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 6 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:14:54,916 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 146 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:14:54,917 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-28 12:14:54,977 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 79. [2022-04-28 12:14:54,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:14:54,977 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:54,978 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:54,978 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:54,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,982 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:54,982 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:54,982 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:54,982 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:54,983 INFO L74 IsIncluded]: Start isIncluded. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:54,983 INFO L87 Difference]: Start difference. First operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 81 states. [2022-04-28 12:14:54,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:14:54,986 INFO L93 Difference]: Finished difference Result 81 states and 105 transitions. [2022-04-28 12:14:54,986 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 105 transitions. [2022-04-28 12:14:54,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:14:54,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:14:54,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:14:54,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:14:54,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 79 states, 42 states have (on average 1.2142857142857142) internal successors, (51), 45 states have internal predecessors, (51), 27 states have call successors, (27), 10 states have call predecessors, (27), 9 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-28 12:14:54,990 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 102 transitions. [2022-04-28 12:14:54,990 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 102 transitions. Word has length 51 [2022-04-28 12:14:54,991 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:14:54,991 INFO L495 AbstractCegarLoop]: Abstraction has 79 states and 102 transitions. [2022-04-28 12:14:54,991 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, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 12:14:54,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 79 states and 102 transitions. [2022-04-28 12:14:55,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:14:55,121 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 102 transitions. [2022-04-28 12:14:55,122 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-28 12:14:55,122 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:14:55,122 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:14:55,146 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-28 12:14:55,323 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:55,323 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:14:55,323 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:14:55,323 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 1 times [2022-04-28 12:14:55,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:14:55,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [970762374] [2022-04-28 12:14:55,324 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:14:55,324 INFO L85 PathProgramCache]: Analyzing trace with hash 1924168317, now seen corresponding path program 2 times [2022-04-28 12:14:55,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:14:55,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1468215830] [2022-04-28 12:14:55,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:14:55,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:14:55,343 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:14:55,343 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651707200] [2022-04-28 12:14:55,343 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:14:55,343 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:14:55,343 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:14:55,352 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-28 12:14:55,378 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-28 12:14:55,410 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:14:55,410 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:14:55,411 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:14:55,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:14:55,428 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:14:55,624 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#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); {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#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; {2968#true} is VALID [2022-04-28 12:14:55,625 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,626 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,627 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-28 12:14:55,628 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-28 12:14:55,629 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:14:55,630 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:55,630 INFO L290 TraceCheckUtils]: 36: Hoare triple {3078#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:55,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:14:55,634 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:55,634 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= 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)); {2968#true} is VALID [2022-04-28 12:14:55,634 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,634 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,634 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,635 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:55,636 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:55,636 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= 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)); {2968#true} is VALID [2022-04-28 12:14:55,636 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:14:55,636 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:14:55,636 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:14:55,637 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:14:55,638 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= 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)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:14:55,638 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:14:55,639 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-28 12:14:55,639 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-28 12:14:55,641 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:14:55,641 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:11,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {2969#false} assume !false; {2969#false} is VALID [2022-04-28 12:15:11,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {3131#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2969#false} is VALID [2022-04-28 12:15:11,618 INFO L290 TraceCheckUtils]: 51: Hoare triple {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3131#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:11,619 INFO L272 TraceCheckUtils]: 50: Hoare triple {3108#(= 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)); {3127#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:11,620 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2968#true} {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #80#return; {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:11,620 INFO L290 TraceCheckUtils]: 48: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,620 INFO L290 TraceCheckUtils]: 47: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,620 INFO L290 TraceCheckUtils]: 46: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,620 INFO L272 TraceCheckUtils]: 45: Hoare triple {3108#(= 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)); {2968#true} is VALID [2022-04-28 12:15:11,621 INFO L290 TraceCheckUtils]: 44: Hoare triple {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {3108#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:11,622 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {2968#true} {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #78#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:11,622 INFO L290 TraceCheckUtils]: 42: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,622 INFO L290 TraceCheckUtils]: 41: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,622 INFO L290 TraceCheckUtils]: 40: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,622 INFO L272 TraceCheckUtils]: 39: Hoare triple {3089#(= 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)); {2968#true} is VALID [2022-04-28 12:15:11,623 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} {2968#true} #76#return; {3089#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:11,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:11,624 INFO L290 TraceCheckUtils]: 36: Hoare triple {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3082#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:15:11,624 INFO L290 TraceCheckUtils]: 35: Hoare triple {2968#true} ~cond := #in~cond; {3192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:15:11,625 INFO L272 TraceCheckUtils]: 34: Hoare triple {2968#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2968#true} {2968#true} #74#return; {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L290 TraceCheckUtils]: 32: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L290 TraceCheckUtils]: 30: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L272 TraceCheckUtils]: 29: Hoare triple {2968#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L290 TraceCheckUtils]: 28: Hoare triple {2968#true} assume !false; {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L290 TraceCheckUtils]: 27: Hoare triple {2968#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2968#true} is VALID [2022-04-28 12:15:11,625 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2968#true} {2968#true} #72#return; {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 24: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 23: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L272 TraceCheckUtils]: 22: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2968#true} {2968#true} #70#return; {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 20: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 19: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,626 INFO L290 TraceCheckUtils]: 18: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L272 TraceCheckUtils]: 17: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2968#true} {2968#true} #68#return; {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L272 TraceCheckUtils]: 12: Hoare triple {2968#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L290 TraceCheckUtils]: 11: Hoare triple {2968#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2968#true} is VALID [2022-04-28 12:15:11,627 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2968#true} {2968#true} #66#return; {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L290 TraceCheckUtils]: 9: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L290 TraceCheckUtils]: 8: Hoare triple {2968#true} assume !(0 == ~cond); {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {2968#true} ~cond := #in~cond; {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {2968#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {2968#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; {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {2968#true} call #t~ret6 := main(); {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2968#true} {2968#true} #88#return; {2968#true} is VALID [2022-04-28 12:15:11,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {2968#true} assume true; {2968#true} is VALID [2022-04-28 12:15:11,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {2968#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); {2968#true} is VALID [2022-04-28 12:15:11,629 INFO L272 TraceCheckUtils]: 0: Hoare triple {2968#true} call ULTIMATE.init(); {2968#true} is VALID [2022-04-28 12:15:11,629 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 12:15:11,629 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:11,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1468215830] [2022-04-28 12:15:11,629 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:11,629 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651707200] [2022-04-28 12:15:11,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651707200] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:11,630 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:11,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:15:11,630 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:11,630 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [970762374] [2022-04-28 12:15:11,630 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [970762374] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:11,630 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:11,630 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:15:11,630 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1561438459] [2022-04-28 12:15:11,631 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:11,631 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:15:11,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:11,632 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:11,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:11,664 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:15:11,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:11,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:15:11,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:15:11,665 INFO L87 Difference]: Start difference. First operand 79 states and 102 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:12,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:12,399 INFO L93 Difference]: Finished difference Result 88 states and 112 transitions. [2022-04-28 12:15:12,399 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:15:12,399 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 54 [2022-04-28 12:15:12,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:12,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:12,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:15:12,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:12,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 52 transitions. [2022-04-28 12:15:12,403 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 52 transitions. [2022-04-28 12:15:12,449 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:12,453 INFO L225 Difference]: With dead ends: 88 [2022-04-28 12:15:12,453 INFO L226 Difference]: Without dead ends: 84 [2022-04-28 12:15:12,453 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:15:12,454 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 14 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:12,454 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 129 Invalid, 133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:15:12,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2022-04-28 12:15:12,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 84. [2022-04-28 12:15:12,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:12,531 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:12,532 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:12,532 INFO L87 Difference]: Start difference. First operand 84 states. Second operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:12,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:12,535 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:15:12,535 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:12,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:12,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:12,537 INFO L74 IsIncluded]: Start isIncluded. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:15:12,537 INFO L87 Difference]: Start difference. First operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) Second operand 84 states. [2022-04-28 12:15:12,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:12,541 INFO L93 Difference]: Finished difference Result 84 states and 105 transitions. [2022-04-28 12:15:12,541 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:12,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:12,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:12,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:12,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:12,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 84 states, 46 states have (on average 1.1521739130434783) internal successors, (53), 49 states have internal predecessors, (53), 27 states have call successors, (27), 11 states have call predecessors, (27), 10 states have return successors, (25), 23 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-28 12:15:12,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 105 transitions. [2022-04-28 12:15:12,546 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 105 transitions. Word has length 54 [2022-04-28 12:15:12,547 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:12,547 INFO L495 AbstractCegarLoop]: Abstraction has 84 states and 105 transitions. [2022-04-28 12:15:12,547 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 12:15:12,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 84 states and 105 transitions. [2022-04-28 12:15:12,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:12,654 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 105 transitions. [2022-04-28 12:15:12,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 12:15:12,655 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:12,655 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:15:12,671 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 12:15:12,855 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:12,855 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:12,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:12,856 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 3 times [2022-04-28 12:15:12,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:12,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1960514852] [2022-04-28 12:15:12,856 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:12,856 INFO L85 PathProgramCache]: Analyzing trace with hash 1698149216, now seen corresponding path program 4 times [2022-04-28 12:15:12,856 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:12,856 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1559732503] [2022-04-28 12:15:12,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:12,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:12,870 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:12,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2120061687] [2022-04-28 12:15:12,871 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:15:12,871 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:12,871 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:12,872 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-28 12:15:12,904 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-28 12:15:12,933 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:15:12,933 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:12,934 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 12:15:12,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:12,947 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:13,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-28 12:15:13,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-28 12:15:13,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-28 12:15:13,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-28 12:15:13,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#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; {3818#true} is VALID [2022-04-28 12:15:13,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:13,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:13,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:13,617 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3818#true} #66#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:13,617 INFO L290 TraceCheckUtils]: 11: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:13,617 INFO L272 TraceCheckUtils]: 12: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,617 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,617 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,618 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:13,618 INFO L272 TraceCheckUtils]: 17: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,618 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:13,619 INFO L272 TraceCheckUtils]: 22: Hoare triple {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,619 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:13,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {3844#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:13,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3848#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:13,620 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3848#(not (= |assume_abort_if_not_#in~cond| 0))} {3855#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:13,621 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,622 INFO L272 TraceCheckUtils]: 29: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,622 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,622 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,623 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,623 INFO L272 TraceCheckUtils]: 34: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,623 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,624 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #76#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,624 INFO L272 TraceCheckUtils]: 39: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,624 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,624 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,624 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,625 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #78#return; {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,626 INFO L290 TraceCheckUtils]: 44: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {3908#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= 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; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,627 INFO L272 TraceCheckUtils]: 47: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:13,627 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:13,627 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:13,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:13,628 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} #74#return; {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:15:13,629 INFO L272 TraceCheckUtils]: 52: Hoare triple {3963#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) (< 0 main_~a~0) (<= 1 main_~y~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:13,629 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:13,629 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-28 12:15:13,629 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-28 12:15:13,630 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 14 proven. 9 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 12:15:13,630 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:14,006 INFO L290 TraceCheckUtils]: 55: Hoare triple {3819#false} assume !false; {3819#false} is VALID [2022-04-28 12:15:14,006 INFO L290 TraceCheckUtils]: 54: Hoare triple {3989#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3819#false} is VALID [2022-04-28 12:15:14,007 INFO L290 TraceCheckUtils]: 53: Hoare triple {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3989#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:14,007 INFO L272 TraceCheckUtils]: 52: Hoare triple {4005#(= 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)); {3985#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:14,008 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3818#true} {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:14,008 INFO L290 TraceCheckUtils]: 50: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:14,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:14,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:14,008 INFO L272 TraceCheckUtils]: 47: Hoare triple {4005#(= 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)); {3818#true} is VALID [2022-04-28 12:15:14,009 INFO L290 TraceCheckUtils]: 46: Hoare triple {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:15:16,010 WARN L290 TraceCheckUtils]: 45: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {4005#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-28 12:15:16,011 INFO L290 TraceCheckUtils]: 44: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,011 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #78#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,011 INFO L290 TraceCheckUtils]: 42: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,012 INFO L290 TraceCheckUtils]: 41: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,012 INFO L290 TraceCheckUtils]: 40: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,012 INFO L272 TraceCheckUtils]: 39: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,020 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #76#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,020 INFO L290 TraceCheckUtils]: 37: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,020 INFO L290 TraceCheckUtils]: 36: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,020 INFO L290 TraceCheckUtils]: 35: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,020 INFO L272 TraceCheckUtils]: 34: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,021 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3818#true} {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} #74#return; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,021 INFO L290 TraceCheckUtils]: 32: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,021 INFO L290 TraceCheckUtils]: 31: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,021 INFO L272 TraceCheckUtils]: 29: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,022 INFO L290 TraceCheckUtils]: 28: Hoare triple {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} assume !false; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,022 INFO L290 TraceCheckUtils]: 27: Hoare triple {3818#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4027#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (< main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:16,022 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3818#true} {3818#true} #72#return; {3818#true} is VALID [2022-04-28 12:15:16,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 24: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 23: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L272 TraceCheckUtils]: 22: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3818#true} {3818#true} #70#return; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 20: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 19: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 18: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L272 TraceCheckUtils]: 17: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3818#true} {3818#true} #68#return; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 15: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,023 INFO L290 TraceCheckUtils]: 14: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L272 TraceCheckUtils]: 12: Hoare triple {3818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {3818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3818#true} {3818#true} #66#return; {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {3818#true} assume !(0 == ~cond); {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {3818#true} ~cond := #in~cond; {3818#true} is VALID [2022-04-28 12:15:16,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {3818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {3818#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; {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L272 TraceCheckUtils]: 4: Hoare triple {3818#true} call #t~ret6 := main(); {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3818#true} {3818#true} #88#return; {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L290 TraceCheckUtils]: 2: Hoare triple {3818#true} assume true; {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L290 TraceCheckUtils]: 1: Hoare triple {3818#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L272 TraceCheckUtils]: 0: Hoare triple {3818#true} call ULTIMATE.init(); {3818#true} is VALID [2022-04-28 12:15:16,025 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 8 proven. 3 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 12:15:16,025 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:16,025 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1559732503] [2022-04-28 12:15:16,025 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:16,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2120061687] [2022-04-28 12:15:16,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2120061687] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:16,026 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:16,026 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6] total 12 [2022-04-28 12:15:16,026 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:16,026 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1960514852] [2022-04-28 12:15:16,026 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1960514852] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:16,026 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:16,026 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:15:16,026 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [748346777] [2022-04-28 12:15:16,026 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:16,027 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-28 12:15:16,027 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:16,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:15:16,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:16,071 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:15:16,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:16,071 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:15:16,072 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:15:16,072 INFO L87 Difference]: Start difference. First operand 84 states and 105 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:15:17,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:17,096 INFO L93 Difference]: Finished difference Result 118 states and 147 transitions. [2022-04-28 12:15:17,096 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:15:17,096 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 56 [2022-04-28 12:15:17,096 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:17,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:15:17,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-28 12:15:17,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:15:17,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 75 transitions. [2022-04-28 12:15:17,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 75 transitions. [2022-04-28 12:15:17,171 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-28 12:15:17,173 INFO L225 Difference]: With dead ends: 118 [2022-04-28 12:15:17,173 INFO L226 Difference]: Without dead ends: 116 [2022-04-28 12:15:17,174 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 113 GetRequests, 100 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=145, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:15:17,174 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 21 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 243 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:17,174 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 184 Invalid, 243 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:15:17,175 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-04-28 12:15:17,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 112. [2022-04-28 12:15:17,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:17,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:17,365 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:17,367 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:17,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:17,371 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:15:17,372 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:15:17,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:17,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:17,374 INFO L74 IsIncluded]: Start isIncluded. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:15:17,374 INFO L87 Difference]: Start difference. First operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) Second operand 116 states. [2022-04-28 12:15:17,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:17,378 INFO L93 Difference]: Finished difference Result 116 states and 145 transitions. [2022-04-28 12:15:17,378 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 145 transitions. [2022-04-28 12:15:17,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:17,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:17,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:17,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:17,381 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 112 states, 64 states have (on average 1.15625) internal successors, (74), 67 states have internal predecessors, (74), 33 states have call successors, (33), 15 states have call predecessors, (33), 14 states have return successors, (31), 29 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-28 12:15:17,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 138 transitions. [2022-04-28 12:15:17,384 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 138 transitions. Word has length 56 [2022-04-28 12:15:17,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:17,385 INFO L495 AbstractCegarLoop]: Abstraction has 112 states and 138 transitions. [2022-04-28 12:15:17,385 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 8 states have internal predecessors, (21), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:15:17,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 112 states and 138 transitions. [2022-04-28 12:15:17,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:17,565 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 138 transitions. [2022-04-28 12:15:17,566 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 12:15:17,566 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:17,566 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:15:17,593 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-28 12:15:17,766 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:17,767 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:17,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:17,767 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 1 times [2022-04-28 12:15:17,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:17,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1305455215] [2022-04-28 12:15:17,767 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:17,768 INFO L85 PathProgramCache]: Analyzing trace with hash 888099957, now seen corresponding path program 2 times [2022-04-28 12:15:17,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:17,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637157050] [2022-04-28 12:15:17,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:17,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:17,786 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:17,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [339120911] [2022-04-28 12:15:17,787 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:15:17,787 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:17,787 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:17,788 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-28 12:15:17,789 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-28 12:15:17,836 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:15:17,837 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:17,838 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:15:17,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:17,849 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:18,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#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); {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#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; {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,157 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,158 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,159 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-28 12:15:18,161 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,162 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-28 12:15:18,163 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,163 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,164 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-28 12:15:18,164 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4947#(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-28 12:15:18,165 INFO L290 TraceCheckUtils]: 28: Hoare triple {4947#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4947#(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-28 12:15:18,165 INFO L272 TraceCheckUtils]: 29: Hoare triple {4947#(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)); {4861#true} is VALID [2022-04-28 12:15:18,165 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,165 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,166 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {4947#(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))} #74#return; {4947#(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-28 12:15:18,166 INFO L272 TraceCheckUtils]: 34: Hoare triple {4947#(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)); {4861#true} is VALID [2022-04-28 12:15:18,166 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,166 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,166 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,167 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {4947#(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))} #76#return; {4947#(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-28 12:15:18,167 INFO L272 TraceCheckUtils]: 39: Hoare triple {4947#(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)); {4861#true} is VALID [2022-04-28 12:15:18,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,167 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,168 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,169 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {4947#(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))} #78#return; {4947#(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-28 12:15:18,169 INFO L290 TraceCheckUtils]: 44: Hoare triple {4947#(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); {4947#(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-28 12:15:18,170 INFO L290 TraceCheckUtils]: 45: Hoare triple {4947#(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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:18,170 INFO L290 TraceCheckUtils]: 46: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:18,171 INFO L272 TraceCheckUtils]: 47: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,171 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,171 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,171 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,172 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #74#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:18,172 INFO L272 TraceCheckUtils]: 52: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,172 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,172 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,173 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #76#return; {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-28 12:15:18,173 INFO L272 TraceCheckUtils]: 57: Hoare triple {5002#(and (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:18,174 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:18,174 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-28 12:15:18,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-28 12:15:18,174 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:15:18,174 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:18,391 INFO L290 TraceCheckUtils]: 60: Hoare triple {4862#false} assume !false; {4862#false} is VALID [2022-04-28 12:15:18,391 INFO L290 TraceCheckUtils]: 59: Hoare triple {5043#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4862#false} is VALID [2022-04-28 12:15:18,392 INFO L290 TraceCheckUtils]: 58: Hoare triple {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5043#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:15:18,393 INFO L272 TraceCheckUtils]: 57: Hoare triple {5059#(= 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)); {5039#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:15:18,393 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #76#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:18,394 INFO L290 TraceCheckUtils]: 55: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,394 INFO L290 TraceCheckUtils]: 54: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,394 INFO L290 TraceCheckUtils]: 53: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,394 INFO L272 TraceCheckUtils]: 52: Hoare triple {5059#(= 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)); {4861#true} is VALID [2022-04-28 12:15:18,395 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4861#true} {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #74#return; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:18,395 INFO L290 TraceCheckUtils]: 50: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,395 INFO L290 TraceCheckUtils]: 49: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,395 INFO L290 TraceCheckUtils]: 48: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,395 INFO L272 TraceCheckUtils]: 47: Hoare triple {5059#(= 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)); {4861#true} is VALID [2022-04-28 12:15:18,395 INFO L290 TraceCheckUtils]: 46: Hoare triple {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:18,605 INFO L290 TraceCheckUtils]: 45: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {5059#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:15:18,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,606 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #78#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,606 INFO L290 TraceCheckUtils]: 42: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,606 INFO L290 TraceCheckUtils]: 41: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,606 INFO L290 TraceCheckUtils]: 40: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,607 INFO L272 TraceCheckUtils]: 39: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,607 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #76#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,607 INFO L272 TraceCheckUtils]: 34: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,608 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4861#true} {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #74#return; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,608 INFO L290 TraceCheckUtils]: 30: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,608 INFO L272 TraceCheckUtils]: 29: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,609 INFO L290 TraceCheckUtils]: 28: Hoare triple {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !false; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,609 INFO L290 TraceCheckUtils]: 27: Hoare triple {4861#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5096#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-28 12:15:18,610 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4861#true} {4861#true} #72#return; {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 25: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 24: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 23: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L272 TraceCheckUtils]: 22: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4861#true} {4861#true} #70#return; {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L272 TraceCheckUtils]: 17: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4861#true} {4861#true} #68#return; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 13: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L272 TraceCheckUtils]: 12: Hoare triple {4861#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 11: Hoare triple {4861#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4861#true} {4861#true} #66#return; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,611 INFO L290 TraceCheckUtils]: 8: Hoare triple {4861#true} assume !(0 == ~cond); {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L290 TraceCheckUtils]: 7: Hoare triple {4861#true} ~cond := #in~cond; {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L272 TraceCheckUtils]: 6: Hoare triple {4861#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L290 TraceCheckUtils]: 5: Hoare triple {4861#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; {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {4861#true} call #t~ret6 := main(); {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4861#true} {4861#true} #88#return; {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {4861#true} assume true; {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {4861#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); {4861#true} is VALID [2022-04-28 12:15:18,612 INFO L272 TraceCheckUtils]: 0: Hoare triple {4861#true} call ULTIMATE.init(); {4861#true} is VALID [2022-04-28 12:15:18,613 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-28 12:15:18,613 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:18,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637157050] [2022-04-28 12:15:18,613 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:18,613 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [339120911] [2022-04-28 12:15:18,613 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [339120911] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:18,613 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:18,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-28 12:15:18,614 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:18,614 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1305455215] [2022-04-28 12:15:18,614 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1305455215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:18,614 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:18,614 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:15:18,614 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [344353033] [2022-04-28 12:15:18,614 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:18,615 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:15:18,615 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:18,615 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:18,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:18,651 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:15:18,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:18,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:15:18,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-28 12:15:18,652 INFO L87 Difference]: Start difference. First operand 112 states and 138 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:19,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:19,227 INFO L93 Difference]: Finished difference Result 137 states and 178 transitions. [2022-04-28 12:15:19,227 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:15:19,227 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) Word has length 61 [2022-04-28 12:15:19,228 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:19,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:19,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:15:19,231 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:19,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-28 12:15:19,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-28 12:15:19,304 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-28 12:15:19,306 INFO L225 Difference]: With dead ends: 137 [2022-04-28 12:15:19,306 INFO L226 Difference]: Without dead ends: 131 [2022-04-28 12:15:19,307 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 114 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:15:19,309 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 8 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 120 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:19,309 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 160 Invalid, 120 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:19,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2022-04-28 12:15:19,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 131. [2022-04-28 12:15:19,498 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:19,498 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:19,498 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:19,498 INFO L87 Difference]: Start difference. First operand 131 states. Second operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:19,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:19,503 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:15:19,503 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:19,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:19,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:19,504 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:15:19,505 INFO L87 Difference]: Start difference. First operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) Second operand 131 states. [2022-04-28 12:15:19,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:19,508 INFO L93 Difference]: Finished difference Result 131 states and 167 transitions. [2022-04-28 12:15:19,508 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:19,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:19,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:19,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:19,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:19,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 73 states have (on average 1.178082191780822) internal successors, (86), 77 states have internal predecessors, (86), 42 states have call successors, (42), 16 states have call predecessors, (42), 15 states have return successors, (39), 37 states have call predecessors, (39), 39 states have call successors, (39) [2022-04-28 12:15:19,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 167 transitions. [2022-04-28 12:15:19,513 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 167 transitions. Word has length 61 [2022-04-28 12:15:19,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:19,514 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 167 transitions. [2022-04-28 12:15:19,514 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 3 states have call predecessors, (10), 3 states have call successors, (10) [2022-04-28 12:15:19,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 167 transitions. [2022-04-28 12:15:19,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:19,701 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 167 transitions. [2022-04-28 12:15:19,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:15:19,702 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:19,702 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 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-28 12:15:19,718 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 12:15:19,903 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 12:15:19,903 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:19,904 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:19,904 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 1 times [2022-04-28 12:15:19,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:19,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [54933480] [2022-04-28 12:15:19,904 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:19,904 INFO L85 PathProgramCache]: Analyzing trace with hash 2064127436, now seen corresponding path program 2 times [2022-04-28 12:15:19,905 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:19,905 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1027596245] [2022-04-28 12:15:19,905 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:19,905 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:19,926 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:19,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2141698430] [2022-04-28 12:15:19,927 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:15:19,927 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:19,927 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:19,928 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-28 12:15:19,928 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-28 12:15:19,968 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:15:19,968 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:19,969 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:15:19,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:19,980 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:20,419 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-28 12:15:20,419 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#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); {6034#true} is VALID [2022-04-28 12:15:20,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-28 12:15:20,420 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-28 12:15:20,420 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#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; {6034#true} is VALID [2022-04-28 12:15:20,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:20,421 INFO L290 TraceCheckUtils]: 8: Hoare triple {6060#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:20,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:20,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:20,422 INFO L290 TraceCheckUtils]: 11: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:20,422 INFO L272 TraceCheckUtils]: 12: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,423 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:20,423 INFO L272 TraceCheckUtils]: 17: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,423 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,423 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,423 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,424 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:20,425 INFO L272 TraceCheckUtils]: 22: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,425 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,425 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,425 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,426 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:20,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {6071#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,427 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,427 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,427 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,427 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,428 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,429 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,429 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,429 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,429 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,430 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,430 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,430 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,430 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,431 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,431 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,432 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~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; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,432 INFO L290 TraceCheckUtils]: 46: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !false; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,432 INFO L272 TraceCheckUtils]: 47: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,432 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,433 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,433 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,433 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #74#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,433 INFO L272 TraceCheckUtils]: 52: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,433 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,433 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,434 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,434 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #76#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,434 INFO L272 TraceCheckUtils]: 57: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,434 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,434 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,435 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,435 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} #78#return; {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,435 INFO L290 TraceCheckUtils]: 62: Hoare triple {6178#(and (< 0 main_~a~0) (< main_~b~0 2))} assume !!(~a~0 != ~b~0); {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} is VALID [2022-04-28 12:15:20,436 INFO L290 TraceCheckUtils]: 63: Hoare triple {6230#(and (< 0 main_~a~0) (not (= main_~b~0 main_~a~0)) (< main_~b~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-28 12:15:20,436 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-28 12:15:20,436 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-28 12:15:20,436 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-28 12:15:20,437 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-28 12:15:20,437 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-28 12:15:20,437 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:15:20,437 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:20,895 INFO L290 TraceCheckUtils]: 68: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-28 12:15:20,896 INFO L290 TraceCheckUtils]: 67: Hoare triple {6035#false} assume 0 == ~cond; {6035#false} is VALID [2022-04-28 12:15:20,896 INFO L290 TraceCheckUtils]: 66: Hoare triple {6035#false} ~cond := #in~cond; {6035#false} is VALID [2022-04-28 12:15:20,896 INFO L272 TraceCheckUtils]: 65: Hoare triple {6035#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6035#false} is VALID [2022-04-28 12:15:20,896 INFO L290 TraceCheckUtils]: 64: Hoare triple {6035#false} assume !false; {6035#false} is VALID [2022-04-28 12:15:20,896 INFO L290 TraceCheckUtils]: 63: Hoare triple {6264#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6035#false} is VALID [2022-04-28 12:15:20,897 INFO L290 TraceCheckUtils]: 62: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {6264#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:15:20,897 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:20,897 INFO L290 TraceCheckUtils]: 60: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,898 INFO L290 TraceCheckUtils]: 59: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,898 INFO L290 TraceCheckUtils]: 58: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,898 INFO L272 TraceCheckUtils]: 57: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,898 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:20,898 INFO L290 TraceCheckUtils]: 55: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,899 INFO L290 TraceCheckUtils]: 54: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,899 INFO L290 TraceCheckUtils]: 53: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,899 INFO L272 TraceCheckUtils]: 52: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,899 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {6034#true} {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:20,899 INFO L290 TraceCheckUtils]: 50: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,900 INFO L290 TraceCheckUtils]: 49: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,900 INFO L290 TraceCheckUtils]: 48: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,900 INFO L272 TraceCheckUtils]: 47: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,900 INFO L290 TraceCheckUtils]: 46: Hoare triple {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:20,901 INFO L290 TraceCheckUtils]: 45: Hoare triple {6123#(<= main_~a~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; {6268#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:20,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {6123#(<= main_~a~0 2)} assume !!(~a~0 != ~b~0); {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,902 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #78#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,902 INFO L290 TraceCheckUtils]: 42: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,902 INFO L290 TraceCheckUtils]: 41: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,902 INFO L290 TraceCheckUtils]: 40: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,902 INFO L272 TraceCheckUtils]: 39: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,903 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #76#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,903 INFO L290 TraceCheckUtils]: 37: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,903 INFO L272 TraceCheckUtils]: 34: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,904 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6034#true} {6123#(<= main_~a~0 2)} #74#return; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,904 INFO L290 TraceCheckUtils]: 32: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,904 INFO L290 TraceCheckUtils]: 30: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,904 INFO L272 TraceCheckUtils]: 29: Hoare triple {6123#(<= main_~a~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,904 INFO L290 TraceCheckUtils]: 28: Hoare triple {6123#(<= main_~a~0 2)} assume !false; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,905 INFO L290 TraceCheckUtils]: 27: Hoare triple {6374#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6123#(<= main_~a~0 2)} is VALID [2022-04-28 12:15:20,905 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #72#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-28 12:15:20,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,905 INFO L290 TraceCheckUtils]: 23: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,906 INFO L272 TraceCheckUtils]: 22: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,906 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #70#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-28 12:15:20,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,906 INFO L290 TraceCheckUtils]: 19: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,906 INFO L290 TraceCheckUtils]: 18: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,906 INFO L272 TraceCheckUtils]: 17: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,907 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6034#true} {6374#(<= main_~x~0 2)} #68#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-28 12:15:20,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {6034#true} assume !(0 == ~cond); {6034#true} is VALID [2022-04-28 12:15:20,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {6034#true} ~cond := #in~cond; {6034#true} is VALID [2022-04-28 12:15:20,907 INFO L272 TraceCheckUtils]: 12: Hoare triple {6374#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {6374#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6374#(<= main_~x~0 2)} is VALID [2022-04-28 12:15:20,908 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} {6034#true} #66#return; {6374#(<= main_~x~0 2)} is VALID [2022-04-28 12:15:20,908 INFO L290 TraceCheckUtils]: 9: Hoare triple {6064#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:20,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {6064#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:20,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {6034#true} ~cond := #in~cond; {6435#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:20,909 INFO L272 TraceCheckUtils]: 6: Hoare triple {6034#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {6034#true} is VALID [2022-04-28 12:15:20,909 INFO L290 TraceCheckUtils]: 5: Hoare triple {6034#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; {6034#true} is VALID [2022-04-28 12:15:20,909 INFO L272 TraceCheckUtils]: 4: Hoare triple {6034#true} call #t~ret6 := main(); {6034#true} is VALID [2022-04-28 12:15:20,909 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6034#true} {6034#true} #88#return; {6034#true} is VALID [2022-04-28 12:15:20,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {6034#true} assume true; {6034#true} is VALID [2022-04-28 12:15:20,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {6034#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); {6034#true} is VALID [2022-04-28 12:15:20,910 INFO L272 TraceCheckUtils]: 0: Hoare triple {6034#true} call ULTIMATE.init(); {6034#true} is VALID [2022-04-28 12:15:20,910 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 16 proven. 15 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:15:20,910 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:20,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1027596245] [2022-04-28 12:15:20,910 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:20,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2141698430] [2022-04-28 12:15:20,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2141698430] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:20,911 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:20,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:15:20,911 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:20,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [54933480] [2022-04-28 12:15:20,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [54933480] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:20,911 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:20,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:15:20,911 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [305502985] [2022-04-28 12:15:20,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:20,914 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:15:20,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:20,916 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:20,951 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:20,951 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:15:20,951 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:20,952 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:15:20,952 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:15:20,952 INFO L87 Difference]: Start difference. First operand 131 states and 167 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:21,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:21,573 INFO L93 Difference]: Finished difference Result 156 states and 197 transitions. [2022-04-28 12:15:21,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:15:21,573 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:15:21,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:21,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:21,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:15:21,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:21,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-28 12:15:21,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-28 12:15:21,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:21,681 INFO L225 Difference]: With dead ends: 156 [2022-04-28 12:15:21,681 INFO L226 Difference]: Without dead ends: 119 [2022-04-28 12:15:21,682 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 127 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=209, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:15:21,682 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 14 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 129 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 159 SdHoareTripleChecker+Invalid, 154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 129 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:21,683 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 159 Invalid, 154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 129 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:21,683 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2022-04-28 12:15:21,867 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 115. [2022-04-28 12:15:21,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:21,868 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 12:15:21,869 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 12:15:21,869 INFO L87 Difference]: Start difference. First operand 119 states. Second operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 12:15:21,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:21,872 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-28 12:15:21,872 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-28 12:15:21,873 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:21,873 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:21,873 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-28 12:15:21,874 INFO L87 Difference]: Start difference. First operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) Second operand 119 states. [2022-04-28 12:15:21,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:21,877 INFO L93 Difference]: Finished difference Result 119 states and 145 transitions. [2022-04-28 12:15:21,877 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 145 transitions. [2022-04-28 12:15:21,877 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:21,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:21,878 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:21,878 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:21,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 64 states have (on average 1.109375) internal successors, (71), 68 states have internal predecessors, (71), 36 states have call successors, (36), 15 states have call predecessors, (36), 14 states have return successors, (33), 31 states have call predecessors, (33), 33 states have call successors, (33) [2022-04-28 12:15:21,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 140 transitions. [2022-04-28 12:15:21,881 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 140 transitions. Word has length 69 [2022-04-28 12:15:21,881 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:21,881 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 140 transitions. [2022-04-28 12:15:21,881 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 8 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:21,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 140 transitions. [2022-04-28 12:15:22,044 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:22,045 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 140 transitions. [2022-04-28 12:15:22,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:15:22,047 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:22,047 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 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-28 12:15:22,064 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-28 12:15:22,248 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 12:15:22,249 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:22,249 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:22,249 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 3 times [2022-04-28 12:15:22,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:22,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1644955318] [2022-04-28 12:15:22,250 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:22,250 INFO L85 PathProgramCache]: Analyzing trace with hash 1872855628, now seen corresponding path program 4 times [2022-04-28 12:15:22,250 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:22,250 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [416389609] [2022-04-28 12:15:22,250 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:22,250 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:22,280 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:22,280 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1633456588] [2022-04-28 12:15:22,280 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:15:22,280 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:22,280 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:22,288 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-28 12:15:22,315 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-28 12:15:22,345 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:15:22,345 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:22,346 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 12:15:22,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:22,357 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:22,703 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#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); {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#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; {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,704 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-28 12:15:22,705 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-28 12:15:22,705 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:22,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {7293#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:22,706 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:22,706 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:22,707 INFO L272 TraceCheckUtils]: 17: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,707 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,707 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,707 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,707 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:22,708 INFO L272 TraceCheckUtils]: 22: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,708 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,708 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,708 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,708 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #72#return; {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:22,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {7304#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:22,709 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:22,709 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,709 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,709 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,710 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,710 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:22,710 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,710 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,710 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,711 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,711 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:22,711 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,711 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,712 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,712 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,712 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:22,713 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:22,714 INFO L290 TraceCheckUtils]: 45: Hoare triple {7390#(and (<= main_~b~0 2) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,714 INFO L290 TraceCheckUtils]: 46: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !false; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,714 INFO L272 TraceCheckUtils]: 47: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,714 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,715 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #74#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,716 INFO L272 TraceCheckUtils]: 52: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,716 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,716 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,716 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,717 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #76#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,717 INFO L272 TraceCheckUtils]: 57: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:22,717 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:22,717 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:22,717 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:22,718 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} #78#return; {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,718 INFO L290 TraceCheckUtils]: 62: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume !!(~a~0 != ~b~0); {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} is VALID [2022-04-28 12:15:22,719 INFO L290 TraceCheckUtils]: 63: Hoare triple {7394#(and (< main_~a~0 2) (< 0 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-28 12:15:22,719 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-28 12:15:22,719 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-28 12:15:22,720 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-28 12:15:22,720 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-28 12:15:22,720 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-28 12:15:22,720 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:15:22,720 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:23,169 INFO L290 TraceCheckUtils]: 68: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-28 12:15:23,169 INFO L290 TraceCheckUtils]: 67: Hoare triple {7250#false} assume 0 == ~cond; {7250#false} is VALID [2022-04-28 12:15:23,169 INFO L290 TraceCheckUtils]: 66: Hoare triple {7250#false} ~cond := #in~cond; {7250#false} is VALID [2022-04-28 12:15:23,170 INFO L272 TraceCheckUtils]: 65: Hoare triple {7250#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7250#false} is VALID [2022-04-28 12:15:23,170 INFO L290 TraceCheckUtils]: 64: Hoare triple {7250#false} assume !false; {7250#false} is VALID [2022-04-28 12:15:23,170 INFO L290 TraceCheckUtils]: 63: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7250#false} is VALID [2022-04-28 12:15:23,170 INFO L290 TraceCheckUtils]: 62: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,171 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #78#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,171 INFO L290 TraceCheckUtils]: 60: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,171 INFO L290 TraceCheckUtils]: 59: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,171 INFO L290 TraceCheckUtils]: 58: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,172 INFO L272 TraceCheckUtils]: 57: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,172 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #76#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,172 INFO L290 TraceCheckUtils]: 55: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,173 INFO L290 TraceCheckUtils]: 53: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,173 INFO L272 TraceCheckUtils]: 52: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,173 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {7249#true} {7479#(not (< main_~b~0 main_~a~0))} #74#return; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,173 INFO L290 TraceCheckUtils]: 50: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,174 INFO L290 TraceCheckUtils]: 49: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,174 INFO L290 TraceCheckUtils]: 48: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,174 INFO L272 TraceCheckUtils]: 47: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,174 INFO L290 TraceCheckUtils]: 46: Hoare triple {7479#(not (< main_~b~0 main_~a~0))} assume !false; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,175 INFO L290 TraceCheckUtils]: 45: Hoare triple {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {7479#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:23,176 INFO L290 TraceCheckUtils]: 44: Hoare triple {7338#(<= main_~b~0 2)} assume !!(~a~0 != ~b~0); {7534#(or (< main_~b~0 main_~a~0) (<= (* main_~a~0 2) main_~b~0))} is VALID [2022-04-28 12:15:23,176 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #78#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:23,176 INFO L290 TraceCheckUtils]: 42: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,177 INFO L290 TraceCheckUtils]: 41: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,177 INFO L290 TraceCheckUtils]: 40: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,177 INFO L272 TraceCheckUtils]: 39: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,177 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #76#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:23,178 INFO L290 TraceCheckUtils]: 37: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,178 INFO L290 TraceCheckUtils]: 36: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,178 INFO L290 TraceCheckUtils]: 35: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,178 INFO L272 TraceCheckUtils]: 34: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,179 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7249#true} {7338#(<= main_~b~0 2)} #74#return; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:23,179 INFO L290 TraceCheckUtils]: 32: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,179 INFO L290 TraceCheckUtils]: 31: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,179 INFO L290 TraceCheckUtils]: 30: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,179 INFO L272 TraceCheckUtils]: 29: Hoare triple {7338#(<= main_~b~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,179 INFO L290 TraceCheckUtils]: 28: Hoare triple {7338#(<= main_~b~0 2)} assume !false; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:23,180 INFO L290 TraceCheckUtils]: 27: Hoare triple {7589#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7338#(<= main_~b~0 2)} is VALID [2022-04-28 12:15:23,180 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #72#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-28 12:15:23,180 INFO L290 TraceCheckUtils]: 25: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,181 INFO L290 TraceCheckUtils]: 24: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,181 INFO L290 TraceCheckUtils]: 23: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,181 INFO L272 TraceCheckUtils]: 22: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,181 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7249#true} {7589#(<= main_~y~0 2)} #70#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-28 12:15:23,181 INFO L290 TraceCheckUtils]: 20: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,182 INFO L290 TraceCheckUtils]: 19: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,182 INFO L290 TraceCheckUtils]: 18: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,182 INFO L272 TraceCheckUtils]: 17: Hoare triple {7589#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,182 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} {7249#true} #68#return; {7589#(<= main_~y~0 2)} is VALID [2022-04-28 12:15:23,182 INFO L290 TraceCheckUtils]: 15: Hoare triple {7297#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:23,183 INFO L290 TraceCheckUtils]: 14: Hoare triple {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7297#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:23,183 INFO L290 TraceCheckUtils]: 13: Hoare triple {7249#true} ~cond := #in~cond; {7632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:23,183 INFO L272 TraceCheckUtils]: 12: Hoare triple {7249#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {7249#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7249#true} is VALID [2022-04-28 12:15:23,183 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7249#true} {7249#true} #66#return; {7249#true} is VALID [2022-04-28 12:15:23,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {7249#true} assume !(0 == ~cond); {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {7249#true} ~cond := #in~cond; {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L272 TraceCheckUtils]: 6: Hoare triple {7249#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {7249#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; {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {7249#true} call #t~ret6 := main(); {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7249#true} {7249#true} #88#return; {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {7249#true} assume true; {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {7249#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); {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {7249#true} call ULTIMATE.init(); {7249#true} is VALID [2022-04-28 12:15:23,184 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 19 proven. 12 refuted. 0 times theorem prover too weak. 75 trivial. 0 not checked. [2022-04-28 12:15:23,185 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:23,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [416389609] [2022-04-28 12:15:23,185 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:23,185 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1633456588] [2022-04-28 12:15:23,185 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1633456588] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:23,185 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:23,185 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-28 12:15:23,186 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:23,186 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1644955318] [2022-04-28 12:15:23,186 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1644955318] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:23,186 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:23,186 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:15:23,186 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2000265392] [2022-04-28 12:15:23,186 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:23,187 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:15:23,187 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:23,187 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:23,220 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:23,220 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:15:23,220 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:23,220 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:15:23,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:15:23,221 INFO L87 Difference]: Start difference. First operand 115 states and 140 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:23,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:23,788 INFO L93 Difference]: Finished difference Result 133 states and 154 transitions. [2022-04-28 12:15:23,789 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:15:23,789 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:15:23,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:23,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:23,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:15:23,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:23,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-28 12:15:23,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-28 12:15:23,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:23,861 INFO L225 Difference]: With dead ends: 133 [2022-04-28 12:15:23,862 INFO L226 Difference]: Without dead ends: 106 [2022-04-28 12:15:23,862 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 126 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=189, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:15:23,862 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 133 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 123 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:23,863 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 176 Invalid, 123 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:23,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-28 12:15:24,085 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-28 12:15:24,086 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:24,086 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:15:24,086 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:15:24,086 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:15:24,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:24,089 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-28 12:15:24,089 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-28 12:15:24,089 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:24,089 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:24,090 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 12:15:24,090 INFO L87 Difference]: Start difference. First operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-28 12:15:24,092 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:24,092 INFO L93 Difference]: Finished difference Result 106 states and 124 transitions. [2022-04-28 12:15:24,092 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-28 12:15:24,093 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:24,093 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:24,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:24,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:24,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 61 states have (on average 1.0819672131147542) internal successors, (66), 64 states have internal predecessors, (66), 30 states have call successors, (30), 15 states have call predecessors, (30), 14 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-28 12:15:24,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2022-04-28 12:15:24,096 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 124 transitions. Word has length 69 [2022-04-28 12:15:24,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:24,096 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 124 transitions. [2022-04-28 12:15:24,096 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:15:24,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 124 transitions. [2022-04-28 12:15:24,257 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-28 12:15:24,258 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-28 12:15:24,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 12:15:24,258 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:24,258 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:15:24,291 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-28 12:15:24,459 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 12:15:24,459 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:24,459 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:24,460 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 5 times [2022-04-28 12:15:24,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:24,460 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1638840143] [2022-04-28 12:15:24,460 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:24,460 INFO L85 PathProgramCache]: Analyzing trace with hash 1196252297, now seen corresponding path program 6 times [2022-04-28 12:15:24,460 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:24,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1985505669] [2022-04-28 12:15:24,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:24,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:24,491 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:24,491 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [3103163] [2022-04-28 12:15:24,491 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:15:24,491 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:24,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:24,492 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-28 12:15:24,494 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-28 12:15:24,543 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:15:24,543 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:24,544 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:15:24,557 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:24,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:24,920 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#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); {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#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; {8372#true} is VALID [2022-04-28 12:15:24,920 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:24,921 INFO L290 TraceCheckUtils]: 8: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:24,921 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:24,922 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:24,922 INFO L290 TraceCheckUtils]: 11: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:24,922 INFO L272 TraceCheckUtils]: 12: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,922 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,922 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,922 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,923 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #68#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:24,923 INFO L272 TraceCheckUtils]: 17: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,923 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,923 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #70#return; {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:24,924 INFO L272 TraceCheckUtils]: 22: Hoare triple {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:24,924 INFO L290 TraceCheckUtils]: 24: Hoare triple {8398#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:24,924 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:24,925 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8409#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #72#return; {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:15:24,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {8458#(and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,926 INFO L290 TraceCheckUtils]: 28: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !false; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,926 INFO L272 TraceCheckUtils]: 29: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,926 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,926 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,926 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,927 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #74#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,927 INFO L272 TraceCheckUtils]: 34: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,927 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,927 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,927 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,944 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #76#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,944 INFO L272 TraceCheckUtils]: 39: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,944 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,944 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,944 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,945 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} #78#return; {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,946 INFO L290 TraceCheckUtils]: 44: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,947 INFO L290 TraceCheckUtils]: 45: Hoare triple {8462#(and (<= main_~a~0 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,948 INFO L290 TraceCheckUtils]: 46: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !false; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,948 INFO L272 TraceCheckUtils]: 47: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,948 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,948 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,948 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,949 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #74#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,949 INFO L272 TraceCheckUtils]: 52: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,949 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,949 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,950 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,951 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #76#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,951 INFO L272 TraceCheckUtils]: 57: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:24,951 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:24,951 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:24,951 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:24,952 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} #78#return; {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,953 INFO L290 TraceCheckUtils]: 62: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume !!(~a~0 != ~b~0); {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} is VALID [2022-04-28 12:15:24,953 INFO L290 TraceCheckUtils]: 63: Hoare triple {8517#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 66: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 67: Hoare triple {8373#false} assume !(0 == ~cond); {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 68: Hoare triple {8373#false} assume true; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8373#false} {8373#false} #74#return; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-28 12:15:24,954 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-28 12:15:24,955 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-28 12:15:24,955 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 54 proven. 6 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-28 12:15:24,955 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:25,945 INFO L290 TraceCheckUtils]: 73: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-28 12:15:25,945 INFO L290 TraceCheckUtils]: 72: Hoare triple {8373#false} assume 0 == ~cond; {8373#false} is VALID [2022-04-28 12:15:25,945 INFO L290 TraceCheckUtils]: 71: Hoare triple {8373#false} ~cond := #in~cond; {8373#false} is VALID [2022-04-28 12:15:25,946 INFO L272 TraceCheckUtils]: 70: Hoare triple {8373#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8373#false} is VALID [2022-04-28 12:15:25,946 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {8372#true} {8373#false} #74#return; {8373#false} is VALID [2022-04-28 12:15:25,946 INFO L290 TraceCheckUtils]: 68: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,946 INFO L290 TraceCheckUtils]: 67: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,946 INFO L290 TraceCheckUtils]: 66: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,946 INFO L272 TraceCheckUtils]: 65: Hoare triple {8373#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,946 INFO L290 TraceCheckUtils]: 64: Hoare triple {8373#false} assume !false; {8373#false} is VALID [2022-04-28 12:15:25,948 INFO L290 TraceCheckUtils]: 63: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8373#false} is VALID [2022-04-28 12:15:25,948 INFO L290 TraceCheckUtils]: 62: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,949 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #78#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,949 INFO L290 TraceCheckUtils]: 60: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,949 INFO L290 TraceCheckUtils]: 59: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,949 INFO L290 TraceCheckUtils]: 58: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,949 INFO L272 TraceCheckUtils]: 57: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,950 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #76#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,950 INFO L290 TraceCheckUtils]: 55: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,950 INFO L290 TraceCheckUtils]: 54: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,950 INFO L290 TraceCheckUtils]: 53: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,950 INFO L272 TraceCheckUtils]: 52: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,951 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {8372#true} {8632#(not (< main_~b~0 main_~a~0))} #74#return; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,951 INFO L290 TraceCheckUtils]: 50: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,951 INFO L290 TraceCheckUtils]: 49: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,951 INFO L290 TraceCheckUtils]: 48: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,951 INFO L272 TraceCheckUtils]: 47: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,951 INFO L290 TraceCheckUtils]: 46: Hoare triple {8632#(not (< main_~b~0 main_~a~0))} assume !false; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,952 INFO L290 TraceCheckUtils]: 45: Hoare triple {8687#(<= main_~a~0 (* main_~b~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; {8632#(not (< main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:25,952 INFO L290 TraceCheckUtils]: 44: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !!(~a~0 != ~b~0); {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,953 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #78#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,953 INFO L290 TraceCheckUtils]: 42: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,953 INFO L290 TraceCheckUtils]: 41: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,953 INFO L290 TraceCheckUtils]: 40: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,953 INFO L272 TraceCheckUtils]: 39: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,954 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #76#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,954 INFO L290 TraceCheckUtils]: 37: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,954 INFO L290 TraceCheckUtils]: 36: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,954 INFO L290 TraceCheckUtils]: 35: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,954 INFO L272 TraceCheckUtils]: 34: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,955 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8372#true} {8687#(<= main_~a~0 (* main_~b~0 2))} #74#return; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,955 INFO L272 TraceCheckUtils]: 29: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,967 INFO L290 TraceCheckUtils]: 28: Hoare triple {8687#(<= main_~a~0 (* main_~b~0 2))} assume !false; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,967 INFO L290 TraceCheckUtils]: 27: Hoare triple {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8687#(<= main_~a~0 (* main_~b~0 2))} is VALID [2022-04-28 12:15:25,968 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #72#return; {8742#(<= (div (- main_~x~0) (- 2)) main_~y~0)} is VALID [2022-04-28 12:15:25,969 INFO L290 TraceCheckUtils]: 25: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:25,969 INFO L290 TraceCheckUtils]: 24: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:25,969 INFO L290 TraceCheckUtils]: 23: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:25,969 INFO L272 TraceCheckUtils]: 22: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,970 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #70#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-28 12:15:25,970 INFO L290 TraceCheckUtils]: 20: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,970 INFO L290 TraceCheckUtils]: 19: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,970 INFO L290 TraceCheckUtils]: 18: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,970 INFO L272 TraceCheckUtils]: 17: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,971 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8372#true} {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} #68#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-28 12:15:25,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {8372#true} assume !(0 == ~cond); {8372#true} is VALID [2022-04-28 12:15:25,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {8372#true} ~cond := #in~cond; {8372#true} is VALID [2022-04-28 12:15:25,971 INFO L272 TraceCheckUtils]: 12: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-28 12:15:25,972 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} {8372#true} #66#return; {8746#(<= (div (* (- 1) main_~x~0) (- 2)) 1)} is VALID [2022-04-28 12:15:25,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {8402#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:25,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {8402#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:25,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {8372#true} ~cond := #in~cond; {8756#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:25,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {8372#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {8372#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; {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {8372#true} call #t~ret6 := main(); {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8372#true} {8372#true} #88#return; {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {8372#true} assume true; {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {8372#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); {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L272 TraceCheckUtils]: 0: Hoare triple {8372#true} call ULTIMATE.init(); {8372#true} is VALID [2022-04-28 12:15:25,974 INFO L134 CoverageAnalysis]: Checked inductivity of 134 backedges. 26 proven. 12 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:15:25,975 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:25,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1985505669] [2022-04-28 12:15:25,975 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:25,975 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [3103163] [2022-04-28 12:15:25,975 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [3103163] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:25,975 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:25,975 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 13 [2022-04-28 12:15:25,975 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:25,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1638840143] [2022-04-28 12:15:25,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1638840143] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:25,976 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:25,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:15:25,976 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [547145073] [2022-04-28 12:15:25,976 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:25,976 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:15:25,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:25,977 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:15:26,014 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:26,014 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:15:26,014 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:26,015 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:15:26,015 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:15:26,015 INFO L87 Difference]: Start difference. First operand 106 states and 124 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:15:26,558 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:26,558 INFO L93 Difference]: Finished difference Result 123 states and 139 transitions. [2022-04-28 12:15:26,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:15:26,558 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 74 [2022-04-28 12:15:26,559 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:26,559 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:15:26,560 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-28 12:15:26,560 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:15:26,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2022-04-28 12:15:26,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2022-04-28 12:15:26,622 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-28 12:15:26,624 INFO L225 Difference]: With dead ends: 123 [2022-04-28 12:15:26,624 INFO L226 Difference]: Without dead ends: 85 [2022-04-28 12:15:26,625 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 150 GetRequests, 136 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=183, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:15:26,626 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 10 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:26,627 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 191 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:26,627 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-28 12:15:26,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 85. [2022-04-28 12:15:26,773 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:26,773 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:15:26,773 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:15:26,773 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:15:26,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:26,775 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-28 12:15:26,775 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-28 12:15:26,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:26,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:26,776 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-28 12:15:26,776 INFO L87 Difference]: Start difference. First operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 85 states. [2022-04-28 12:15:26,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:26,778 INFO L93 Difference]: Finished difference Result 85 states and 100 transitions. [2022-04-28 12:15:26,778 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-28 12:15:26,779 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:26,779 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:26,779 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:26,779 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:26,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 48 states have (on average 1.0833333333333333) internal successors, (52), 50 states have internal predecessors, (52), 25 states have call successors, (25), 12 states have call predecessors, (25), 11 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 12:15:26,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 100 transitions. [2022-04-28 12:15:26,782 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 100 transitions. Word has length 74 [2022-04-28 12:15:26,782 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:26,782 INFO L495 AbstractCegarLoop]: Abstraction has 85 states and 100 transitions. [2022-04-28 12:15:26,782 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), 3 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:15:26,782 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 100 transitions. [2022-04-28 12:15:26,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:26,915 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 100 transitions. [2022-04-28 12:15:26,915 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-28 12:15:26,915 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:15:26,915 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:15:26,933 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-28 12:15:27,116 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 12:15:27,116 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:15:27,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:15:27,116 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 3 times [2022-04-28 12:15:27,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:27,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [780804630] [2022-04-28 12:15:27,117 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:15:27,117 INFO L85 PathProgramCache]: Analyzing trace with hash 2066842922, now seen corresponding path program 4 times [2022-04-28 12:15:27,117 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:15:27,117 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [696228987] [2022-04-28 12:15:27,117 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:15:27,117 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:15:27,131 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:15:27,131 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1554189405] [2022-04-28 12:15:27,131 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:15:27,131 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:15:27,131 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:15:27,132 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:15:27,136 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 12:15:27,173 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:15:27,173 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:15:27,174 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:15:27,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:15:27,200 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:15:27,746 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-28 12:15:27,746 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#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); {9420#true} is VALID [2022-04-28 12:15:27,746 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,746 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#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; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-28 12:15:27,747 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:27,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:27,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:27,749 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:27,749 INFO L272 TraceCheckUtils]: 17: Hoare triple {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:15:27,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {9464#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:27,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:27,751 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9475#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #70#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:27,751 INFO L272 TraceCheckUtils]: 22: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,751 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,752 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #72#return; {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:15:27,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {9491#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,753 INFO L290 TraceCheckUtils]: 28: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !false; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,753 INFO L272 TraceCheckUtils]: 29: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,753 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,754 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #74#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,754 INFO L272 TraceCheckUtils]: 34: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,754 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,754 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,754 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,755 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #76#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,755 INFO L272 TraceCheckUtils]: 39: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,756 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,756 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,756 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} #78#return; {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,758 INFO L290 TraceCheckUtils]: 45: Hoare triple {9510#(and (<= main_~b~0 2) (<= 1 main_~a~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,758 INFO L290 TraceCheckUtils]: 46: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !false; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,758 INFO L272 TraceCheckUtils]: 47: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,759 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,759 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,759 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,760 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #74#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,760 INFO L272 TraceCheckUtils]: 52: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,760 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,760 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,761 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #76#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,761 INFO L272 TraceCheckUtils]: 57: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:27,761 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:27,761 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:27,761 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:27,762 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} #78#return; {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} is VALID [2022-04-28 12:15:27,762 INFO L290 TraceCheckUtils]: 62: Hoare triple {9565#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0))} assume !!(~a~0 != ~b~0); {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 12:15:27,763 INFO L290 TraceCheckUtils]: 63: Hoare triple {9617#(and (<= (+ main_~b~0 main_~a~0) 2) (<= 1 main_~a~0) (not (= main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-28 12:15:27,763 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-28 12:15:27,763 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 66: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 67: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 68: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9421#false} {9421#false} #74#return; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 71: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {9421#false} assume !(0 == ~cond); {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L290 TraceCheckUtils]: 73: Hoare triple {9421#false} assume true; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9421#false} {9421#false} #76#return; {9421#false} is VALID [2022-04-28 12:15:27,764 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-28 12:15:27,765 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-28 12:15:27,765 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-28 12:15:27,765 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-28 12:15:27,765 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 80 proven. 6 refuted. 0 times theorem prover too weak. 80 trivial. 0 not checked. [2022-04-28 12:15:27,765 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:15:28,768 INFO L290 TraceCheckUtils]: 78: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-28 12:15:28,768 INFO L290 TraceCheckUtils]: 77: Hoare triple {9421#false} assume 0 == ~cond; {9421#false} is VALID [2022-04-28 12:15:28,768 INFO L290 TraceCheckUtils]: 76: Hoare triple {9421#false} ~cond := #in~cond; {9421#false} is VALID [2022-04-28 12:15:28,768 INFO L272 TraceCheckUtils]: 75: Hoare triple {9421#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9421#false} is VALID [2022-04-28 12:15:28,768 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {9420#true} {9421#false} #76#return; {9421#false} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 73: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 72: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 71: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L272 TraceCheckUtils]: 70: Hoare triple {9421#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {9420#true} {9421#false} #74#return; {9421#false} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 68: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 67: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L290 TraceCheckUtils]: 66: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,769 INFO L272 TraceCheckUtils]: 65: Hoare triple {9421#false} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,770 INFO L290 TraceCheckUtils]: 64: Hoare triple {9421#false} assume !false; {9421#false} is VALID [2022-04-28 12:15:28,770 INFO L290 TraceCheckUtils]: 63: Hoare triple {9711#(< main_~b~0 main_~a~0)} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9421#false} is VALID [2022-04-28 12:15:28,770 INFO L290 TraceCheckUtils]: 62: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !!(~a~0 != ~b~0); {9711#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:15:28,771 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #78#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:28,771 INFO L290 TraceCheckUtils]: 60: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,771 INFO L290 TraceCheckUtils]: 59: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,771 INFO L290 TraceCheckUtils]: 58: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,771 INFO L272 TraceCheckUtils]: 57: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,772 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #76#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:28,772 INFO L290 TraceCheckUtils]: 55: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,772 INFO L290 TraceCheckUtils]: 54: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,772 INFO L290 TraceCheckUtils]: 53: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,772 INFO L272 TraceCheckUtils]: 52: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,773 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {9420#true} {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} #74#return; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:28,773 INFO L290 TraceCheckUtils]: 50: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,773 INFO L290 TraceCheckUtils]: 49: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,774 INFO L272 TraceCheckUtils]: 47: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,774 INFO L290 TraceCheckUtils]: 46: Hoare triple {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} assume !false; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:28,775 INFO L290 TraceCheckUtils]: 45: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9715#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0))} is VALID [2022-04-28 12:15:28,775 INFO L290 TraceCheckUtils]: 44: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !!(~a~0 != ~b~0); {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,776 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #78#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,776 INFO L290 TraceCheckUtils]: 42: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,776 INFO L290 TraceCheckUtils]: 41: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,776 INFO L290 TraceCheckUtils]: 40: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,776 INFO L272 TraceCheckUtils]: 39: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,777 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #76#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,777 INFO L290 TraceCheckUtils]: 37: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,777 INFO L290 TraceCheckUtils]: 35: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,777 INFO L272 TraceCheckUtils]: 34: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,778 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9420#true} {9767#(<= main_~b~0 (* main_~a~0 2))} #74#return; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,778 INFO L290 TraceCheckUtils]: 30: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,778 INFO L272 TraceCheckUtils]: 29: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,779 INFO L290 TraceCheckUtils]: 28: Hoare triple {9767#(<= main_~b~0 (* main_~a~0 2))} assume !false; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9767#(<= main_~b~0 (* main_~a~0 2))} is VALID [2022-04-28 12:15:28,780 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9420#true} {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} #72#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-28 12:15:28,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,781 INFO L290 TraceCheckUtils]: 24: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,781 INFO L290 TraceCheckUtils]: 23: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,781 INFO L272 TraceCheckUtils]: 22: Hoare triple {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,782 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} #70#return; {9822#(<= (div (- main_~y~0) (- 2)) main_~x~0)} is VALID [2022-04-28 12:15:28,782 INFO L290 TraceCheckUtils]: 20: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:28,782 INFO L290 TraceCheckUtils]: 19: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:28,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:28,783 INFO L272 TraceCheckUtils]: 17: Hoare triple {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,784 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} {9420#true} #68#return; {9841#(<= (div (* (- 1) main_~y~0) (- 2)) 1)} is VALID [2022-04-28 12:15:28,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {9468#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:28,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {9468#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:15:28,785 INFO L290 TraceCheckUtils]: 13: Hoare triple {9420#true} ~cond := #in~cond; {9851#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:15:28,785 INFO L272 TraceCheckUtils]: 12: Hoare triple {9420#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L290 TraceCheckUtils]: 11: Hoare triple {9420#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9420#true} {9420#true} #66#return; {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L290 TraceCheckUtils]: 9: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L290 TraceCheckUtils]: 8: Hoare triple {9420#true} assume !(0 == ~cond); {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L290 TraceCheckUtils]: 7: Hoare triple {9420#true} ~cond := #in~cond; {9420#true} is VALID [2022-04-28 12:15:28,785 INFO L272 TraceCheckUtils]: 6: Hoare triple {9420#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {9420#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; {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {9420#true} call #t~ret6 := main(); {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9420#true} {9420#true} #88#return; {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {9420#true} assume true; {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L290 TraceCheckUtils]: 1: Hoare triple {9420#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); {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L272 TraceCheckUtils]: 0: Hoare triple {9420#true} call ULTIMATE.init(); {9420#true} is VALID [2022-04-28 12:15:28,786 INFO L134 CoverageAnalysis]: Checked inductivity of 166 backedges. 30 proven. 12 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-28 12:15:28,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:15:28,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [696228987] [2022-04-28 12:15:28,787 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:15:28,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1554189405] [2022-04-28 12:15:28,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1554189405] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:15:28,787 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:15:28,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-28 12:15:28,787 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:15:28,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [780804630] [2022-04-28 12:15:28,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [780804630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:15:28,788 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:15:28,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:15:28,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1912973758] [2022-04-28 12:15:28,788 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:15:28,788 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-28 12:15:28,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:15:28,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:15:28,838 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-28 12:15:28,838 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:15:28,838 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:15:28,839 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:15:28,839 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=167, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:15:28,839 INFO L87 Difference]: Start difference. First operand 85 states and 100 transitions. Second operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:15:29,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:29,206 INFO L93 Difference]: Finished difference Result 93 states and 106 transitions. [2022-04-28 12:15:29,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:15:29,206 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 79 [2022-04-28 12:15:29,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:15:29,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:15:29,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 12:15:29,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:15:29,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 63 transitions. [2022-04-28 12:15:29,209 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 63 transitions. [2022-04-28 12:15:29,266 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:29,267 INFO L225 Difference]: With dead ends: 93 [2022-04-28 12:15:29,267 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 12:15:29,268 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 161 GetRequests, 144 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 44 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=81, Invalid=261, Unknown=0, NotChecked=0, Total=342 [2022-04-28 12:15:29,269 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 6 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 99 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:15:29,269 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 115 Invalid, 99 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:15:29,270 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 12:15:29,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 12:15:29,270 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:15:29,270 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:15:29,270 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:15:29,270 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:15:29,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:29,270 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:15:29,270 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:15:29,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:29,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:29,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 12:15:29,271 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 12:15:29,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:15:29,271 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 12:15:29,271 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:15:29,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:29,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:15:29,271 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:15:29,271 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:15:29,271 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 12:15:29,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 12:15:29,271 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 79 [2022-04-28 12:15:29,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:15:29,272 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 12:15:29,272 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-28 12:15:29,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 12:15:29,272 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:15:29,272 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 12:15:29,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:15:29,274 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 12:15:29,296 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 12:15:29,489 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 12:15:29,491 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 12:15:31,109 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 4) no Hoare annotation was computed. [2022-04-28 12:15:31,110 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 4) no Hoare annotation was computed. [2022-04-28 12:15:31,110 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 4) no Hoare annotation was computed. [2022-04-28 12:15:31,110 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 7 9) the Hoare annotation is: true [2022-04-28 12:15:31,110 INFO L895 garLoopResultBuilder]: At program point L8(line 8) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 12:15:31,110 INFO L895 garLoopResultBuilder]: At program point L8-2(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 12:15:31,110 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 7 9) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 12:15:31,110 INFO L895 garLoopResultBuilder]: At program point L35-2(lines 35 52) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-28 12:15:31,110 INFO L895 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2) (<= main_~x~0 2)) [2022-04-28 12:15:31,111 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 18 59) the Hoare annotation is: true [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L56(line 56) the Hoare annotation is: (let ((.cse1 (<= 1 main_~x~0)) (.cse2 (= main_~s~0 1)) (.cse3 (<= 1 main_~y~0))) (or (let ((.cse0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse0) .cse1 .cse2 (= main_~a~0 .cse0) (= (+ main_~q~0 1) 0) .cse3 (<= main_~x~0 2))) (and .cse1 .cse2 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse3))) [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L54(line 54) the Hoare annotation is: (let ((.cse4 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (let ((.cse0 (= main_~s~0 1)) (.cse1 (= main_~a~0 .cse4)) (.cse2 (<= 1 main_~y~0)) (.cse3 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) (<= 1 main_~x~0) .cse0 .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse4) .cse0 .cse1 (= (+ main_~q~0 1) 0) .cse2 (= main_~a~0 main_~x~0) (<= main_~x~0 2) .cse3)))) [2022-04-28 12:15:31,111 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 18 59) the Hoare annotation is: true [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L38(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L36-1(line 36) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-28 12:15:31,111 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 18 59) the Hoare annotation is: true [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: (and (<= 1 main_~x~0) (<= main_~y~0 2) (<= 1 main_~y~0) (<= main_~x~0 2)) [2022-04-28 12:15:31,111 INFO L902 garLoopResultBuilder]: At program point L57(line 57) the Hoare annotation is: true [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L24(line 24) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L24-1(line 24) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 2) (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-28 12:15:31,111 INFO L895 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (<= 1 main_~x~0)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~b~0 main_~y~0)) (.cse3 (= main_~q~0 0)) (.cse4 (<= 1 main_~y~0)) (.cse7 (= main_~a~0 main_~x~0)) (.cse5 (= main_~p~0 1))) (or (and (= main_~b~0 main_~a~0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse5) (let ((.cse6 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (and (= main_~y~0 (+ main_~b~0 main_~x~0)) (= main_~b~0 .cse6) .cse1 (= main_~a~0 .cse6) (= (+ main_~q~0 1) 0) .cse4 .cse7 (<= main_~x~0 2) .cse5)) (and (= main_~r~0 0) .cse0 .cse1 .cse2 .cse3 .cse4 .cse7 .cse5))) [2022-04-28 12:15:31,112 INFO L902 garLoopResultBuilder]: At program point L22(line 22) the Hoare annotation is: true [2022-04-28 12:15:31,112 INFO L895 garLoopResultBuilder]: At program point L22-1(line 22) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 2)) [2022-04-28 12:15:31,112 INFO L895 garLoopResultBuilder]: At program point L43(lines 43 51) the Hoare annotation is: (and (<= main_~y~0 2) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (<= 1 main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1)) [2022-04-28 12:15:31,112 INFO L895 garLoopResultBuilder]: At program point L43-2(lines 35 52) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~r~0 1) 0) .cse1 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 (< main_~b~0 2) .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-28 12:15:31,112 INFO L895 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse0 (<= main_~y~0 2)) (.cse1 (= main_~s~0 1)) (.cse2 (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (.cse3 (<= 1 main_~a~0)) (.cse6 (= main_~q~0 0)) (.cse7 (<= 1 main_~y~0)) (.cse4 (= main_~a~0 main_~x~0)) (.cse8 (<= main_~x~0 2)) (.cse5 (= main_~p~0 1))) (or (and (= main_~y~0 (+ main_~b~0 main_~x~0)) .cse0 .cse1 .cse2 .cse3 (= (+ main_~q~0 1) 0) (< 0 main_~b~0) .cse4 .cse5) (and (<= (+ main_~b~0 main_~a~0) 2) (= (+ main_~r~0 1) 0) .cse1 .cse2 (< 0 main_~a~0) .cse6 (<= 1 main_~b~0) .cse7 .cse8 .cse5) (and .cse0 .cse1 .cse2 .cse3 (= main_~b~0 main_~y~0) .cse6 .cse7 .cse4 .cse8 .cse5))) [2022-04-28 12:15:31,112 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,112 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 12:15:31,112 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,112 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,113 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,113 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,113 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 12:15:31,113 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 10 16) the Hoare annotation is: true [2022-04-28 12:15:31,113 INFO L895 garLoopResultBuilder]: At program point L12(lines 12 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 12:15:31,113 INFO L895 garLoopResultBuilder]: At program point L11(lines 11 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:15:31,113 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:15:31,113 INFO L895 garLoopResultBuilder]: At program point L11-2(lines 10 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 12:15:31,113 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 12:15:31,116 INFO L356 BasicCegarLoop]: Path program histogram: [6, 4, 4, 2, 2, 2, 2, 2, 2] [2022-04-28 12:15:31,118 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 12:15:31,127 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 12:15:31,132 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 12:15:31,163 INFO L163 areAnnotationChecker]: CFG has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 12:15:31,186 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 12:15:31 BoogieIcfgContainer [2022-04-28 12:15:31,186 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 12:15:31,187 INFO L158 Benchmark]: Toolchain (without parser) took 92447.78ms. Allocated memory was 179.3MB in the beginning and 220.2MB in the end (delta: 40.9MB). Free memory was 128.5MB in the beginning and 99.9MB in the end (delta: 28.6MB). Peak memory consumption was 102.5MB. Max. memory is 8.0GB. [2022-04-28 12:15:31,187 INFO L158 Benchmark]: CDTParser took 0.44ms. Allocated memory is still 179.3MB. Free memory is still 144.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 12:15:31,187 INFO L158 Benchmark]: CACSL2BoogieTranslator took 215.81ms. Allocated memory is still 179.3MB. Free memory was 128.3MB in the beginning and 154.4MB in the end (delta: -26.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 12:15:31,187 INFO L158 Benchmark]: Boogie Preprocessor took 38.67ms. Allocated memory is still 179.3MB. Free memory was 154.4MB in the beginning and 152.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 12:15:31,188 INFO L158 Benchmark]: RCFGBuilder took 266.98ms. Allocated memory is still 179.3MB. Free memory was 152.8MB in the beginning and 140.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 12:15:31,188 INFO L158 Benchmark]: TraceAbstraction took 91921.55ms. Allocated memory was 179.3MB in the beginning and 220.2MB in the end (delta: 40.9MB). Free memory was 140.7MB in the beginning and 99.9MB in the end (delta: 40.8MB). Peak memory consumption was 116.2MB. Max. memory is 8.0GB. [2022-04-28 12:15:31,189 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.44ms. Allocated memory is still 179.3MB. Free memory is still 144.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 215.81ms. Allocated memory is still 179.3MB. Free memory was 128.3MB in the beginning and 154.4MB in the end (delta: -26.1MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 38.67ms. Allocated memory is still 179.3MB. Free memory was 154.4MB in the beginning and 152.8MB in the end (delta: 1.6MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 266.98ms. Allocated memory is still 179.3MB. Free memory was 152.8MB in the beginning and 140.8MB in the end (delta: 12.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 91921.55ms. Allocated memory was 179.3MB in the beginning and 220.2MB in the end (delta: 40.9MB). Free memory was 140.7MB in the beginning and 99.9MB in the end (delta: 40.8MB). Peak memory consumption was 116.2MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 13]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 40 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 91.8s, OverallIterations: 13, TraceHistogramMax: 9, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 7.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 1.6s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 233 SdHoareTripleChecker+Valid, 1.7s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 159 mSDsluCounter, 1917 SdHoareTripleChecker+Invalid, 1.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1399 mSDsCounter, 109 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1309 IncrementalHoareTripleChecker+Invalid, 1418 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 109 mSolverCounterUnsat, 518 mSDtfsCounter, 1309 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1176 GetRequests, 1051 SyntacticMatches, 6 SemanticMatches, 119 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 0.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=131occurred in iteration=9, InterpolantAutomatonStates: 92, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.5s AutomataMinimizationTime, 13 MinimizatonAttempts, 12 StatesRemovedByMinimization, 5 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 37 LocationsWithAnnotation, 409 PreInvPairs, 510 NumberOfFragments, 1034 HoareAnnotationTreeSize, 409 FomulaSimplifications, 252 FormulaSimplificationTreeSizeReduction, 0.4s HoareSimplificationTime, 37 FomulaSimplificationsInter, 852 FormulaSimplificationTreeSizeReductionInter, 1.2s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 35]: Loop Invariant Derived loop invariant: (((((((((y == b + x && y <= 2) && s == 1) && a == y * r + p * x) && 1 <= a) && q + 1 == 0) && 0 < b) && a == x) && p == 1) || (((((((((a + y == x && r + 1 == 0) && s == 1) && 0 < a) && q == 0) && 1 <= b) && 1 <= y) && b < 2) && x <= 2) && p == 1)) || (((((((((y <= 2 && s == 1) && a == y * r + p * x) && 1 <= a) && b == y) && q == 0) && 1 <= y) && a == x) && x <= 2) && p == 1) - ProcedureContractResult [Line: 7]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 18]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 10]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 12:15:31,222 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...