/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/verifythis/lcp.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 10:41:16,859 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 10:41:16,861 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 10:41:16,923 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 10:41:16,924 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 10:41:16,925 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 10:41:16,926 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 10:41:16,927 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 10:41:16,929 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 10:41:16,929 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 10:41:16,934 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 10:41:16,936 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 10:41:16,937 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 10:41:16,943 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 10:41:16,944 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 10:41:16,945 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 10:41:16,945 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 10:41:16,946 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 10:41:16,947 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 10:41:16,949 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 10:41:16,950 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 10:41:16,953 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 10:41:16,955 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 10:41:16,957 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 10:41:16,959 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 10:41:16,968 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 10:41:16,968 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 10:41:16,969 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 10:41:16,969 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 10:41:16,970 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 10:41:16,971 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 10:41:16,971 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 10:41:16,973 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 10:41:16,974 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 10:41:16,974 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 10:41:16,977 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 10:41:16,978 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 10:41:16,978 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 10:41:16,979 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 10:41:16,979 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 10:41:16,979 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 10:41:16,982 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 10:41:16,983 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 10:41:16,997 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 10:41:16,998 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 10:41:16,999 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 10:41:16,999 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 10:41:16,999 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 10:41:16,999 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 10:41:17,000 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 10:41:17,000 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 10:41:17,000 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 10:41:17,001 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 10:41:17,001 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 10:41:17,001 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 10:41:17,001 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 10:41:17,002 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 10:41:17,002 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 10:41:17,002 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:41:17,002 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 10:41:17,002 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 10:41:17,002 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 10:41:17,003 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 10:41:17,003 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 10:41:17,003 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 10:41:17,003 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 10:41:17,212 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 10:41:17,238 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 10:41:17,241 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 10:41:17,242 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 10:41:17,243 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 10:41:17,245 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/verifythis/lcp.c [2022-04-28 10:41:17,305 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b5f6111b9/bc6b7ee1a9064572888a123c77e66f53/FLAGffffed50f [2022-04-28 10:41:17,740 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 10:41:17,740 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/lcp.c [2022-04-28 10:41:17,746 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b5f6111b9/bc6b7ee1a9064572888a123c77e66f53/FLAGffffed50f [2022-04-28 10:41:18,145 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b5f6111b9/bc6b7ee1a9064572888a123c77e66f53 [2022-04-28 10:41:18,148 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 10:41:18,149 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 10:41:18,153 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 10:41:18,153 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 10:41:18,156 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 10:41:18,158 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,160 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4e12912 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18, skipping insertion in model container [2022-04-28 10:41:18,161 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,167 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 10:41:18,178 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 10:41:18,328 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/lcp.c[515,528] [2022-04-28 10:41:18,352 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:41:18,365 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 10:41:18,377 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/lcp.c[515,528] [2022-04-28 10:41:18,386 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 10:41:18,399 INFO L208 MainTranslator]: Completed translation [2022-04-28 10:41:18,399 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18 WrapperNode [2022-04-28 10:41:18,400 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 10:41:18,400 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 10:41:18,401 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 10:41:18,401 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 10:41:18,410 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,410 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,417 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,417 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,437 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,440 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,441 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,443 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 10:41:18,444 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 10:41:18,444 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 10:41:18,444 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 10:41:18,445 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (1/1) ... [2022-04-28 10:41:18,451 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 10:41:18,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:18,475 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 10:41:18,486 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 10:41:18,509 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 10:41:18,509 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 10:41:18,509 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 10:41:18,509 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 10:41:18,509 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 10:41:18,510 INFO L138 BoogieDeclarations]: Found implementation of procedure lcp [2022-04-28 10:41:18,510 INFO L138 BoogieDeclarations]: Found implementation of procedure check [2022-04-28 10:41:18,510 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 10:41:18,510 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-28 10:41:18,510 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-28 10:41:18,510 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-28 10:41:18,510 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 10:41:18,511 INFO L130 BoogieDeclarations]: Found specification of procedure lcp [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure check [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 10:41:18,512 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 10:41:18,513 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 10:41:18,584 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 10:41:18,586 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 10:41:18,813 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 10:41:18,821 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 10:41:18,821 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 10:41:18,823 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:41:18 BoogieIcfgContainer [2022-04-28 10:41:18,823 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 10:41:18,825 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 10:41:18,825 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 10:41:18,845 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 10:41:18,845 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 10:41:18" (1/3) ... [2022-04-28 10:41:18,846 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2dd9908a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:41:18, skipping insertion in model container [2022-04-28 10:41:18,847 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 10:41:18" (2/3) ... [2022-04-28 10:41:18,847 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2dd9908a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 10:41:18, skipping insertion in model container [2022-04-28 10:41:18,847 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 10:41:18" (3/3) ... [2022-04-28 10:41:18,849 INFO L111 eAbstractionObserver]: Analyzing ICFG lcp.c [2022-04-28 10:41:18,865 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 10:41:18,866 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 10:41:18,907 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 10:41:18,912 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@603e806e, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@15deb99b [2022-04-28 10:41:18,912 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 10:41:18,923 INFO L276 IsEmpty]: Start isEmpty. Operand has 49 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 31 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 7 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 10:41:18,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-04-28 10:41:18,931 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:18,932 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:18,932 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:18,951 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:18,952 INFO L85 PathProgramCache]: Analyzing trace with hash -675162514, now seen corresponding path program 1 times [2022-04-28 10:41:18,959 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:18,960 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1714249783] [2022-04-28 10:41:18,975 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:41:18,975 INFO L85 PathProgramCache]: Analyzing trace with hash -675162514, now seen corresponding path program 2 times [2022-04-28 10:41:18,980 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:18,981 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122239673] [2022-04-28 10:41:18,981 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:18,982 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:19,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:19,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,268 INFO L290 TraceCheckUtils]: 0: Hoare triple {77#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {52#true} is VALID [2022-04-28 10:41:19,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume true; {52#true} is VALID [2022-04-28 10:41:19,269 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52#true} {52#true} #91#return; {52#true} is VALID [2022-04-28 10:41:19,270 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:41:19,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,284 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,286 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53#false} {52#true} #75#return; {53#false} is VALID [2022-04-28 10:41:19,289 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 10:41:19,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {78#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {52#true} is VALID [2022-04-28 10:41:19,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume true; {52#true} is VALID [2022-04-28 10:41:19,319 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {52#true} {53#false} #77#return; {53#false} is VALID [2022-04-28 10:41:19,319 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:41:19,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,329 INFO L290 TraceCheckUtils]: 2: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53#false} {53#false} #79#return; {53#false} is VALID [2022-04-28 10:41:19,329 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:41:19,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,347 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {52#true} is VALID [2022-04-28 10:41:19,348 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume !true; {53#false} is VALID [2022-04-28 10:41:19,349 INFO L290 TraceCheckUtils]: 2: Hoare triple {53#false} #res := ~l~0; {53#false} is VALID [2022-04-28 10:41:19,349 INFO L290 TraceCheckUtils]: 3: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,349 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {53#false} {53#false} #81#return; {53#false} is VALID [2022-04-28 10:41:19,350 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 31 [2022-04-28 10:41:19,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:19,365 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,366 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,366 INFO L290 TraceCheckUtils]: 2: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,366 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {53#false} {53#false} #85#return; {53#false} is VALID [2022-04-28 10:41:19,368 INFO L272 TraceCheckUtils]: 0: Hoare triple {52#true} call ULTIMATE.init(); {77#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:19,368 INFO L290 TraceCheckUtils]: 1: Hoare triple {77#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {52#true} is VALID [2022-04-28 10:41:19,368 INFO L290 TraceCheckUtils]: 2: Hoare triple {52#true} assume true; {52#true} is VALID [2022-04-28 10:41:19,369 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {52#true} {52#true} #91#return; {52#true} is VALID [2022-04-28 10:41:19,370 INFO L272 TraceCheckUtils]: 4: Hoare triple {52#true} call #t~ret19 := main(); {52#true} is VALID [2022-04-28 10:41:19,370 INFO L290 TraceCheckUtils]: 5: Hoare triple {52#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {52#true} is VALID [2022-04-28 10:41:19,371 INFO L272 TraceCheckUtils]: 6: Hoare triple {52#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {52#true} is VALID [2022-04-28 10:41:19,371 INFO L290 TraceCheckUtils]: 7: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,372 INFO L290 TraceCheckUtils]: 8: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,372 INFO L290 TraceCheckUtils]: 9: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,373 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {53#false} {52#true} #75#return; {53#false} is VALID [2022-04-28 10:41:19,373 INFO L290 TraceCheckUtils]: 11: Hoare triple {53#false} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {53#false} is VALID [2022-04-28 10:41:19,374 INFO L272 TraceCheckUtils]: 12: Hoare triple {53#false} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {78#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 10:41:19,374 INFO L290 TraceCheckUtils]: 13: Hoare triple {78#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {52#true} is VALID [2022-04-28 10:41:19,374 INFO L290 TraceCheckUtils]: 14: Hoare triple {52#true} assume true; {52#true} is VALID [2022-04-28 10:41:19,374 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {52#true} {53#false} #77#return; {53#false} is VALID [2022-04-28 10:41:19,375 INFO L290 TraceCheckUtils]: 16: Hoare triple {53#false} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {53#false} is VALID [2022-04-28 10:41:19,375 INFO L272 TraceCheckUtils]: 17: Hoare triple {53#false} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {52#true} is VALID [2022-04-28 10:41:19,375 INFO L290 TraceCheckUtils]: 18: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,378 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {53#false} {53#false} #79#return; {53#false} is VALID [2022-04-28 10:41:19,378 INFO L272 TraceCheckUtils]: 22: Hoare triple {53#false} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {52#true} is VALID [2022-04-28 10:41:19,378 INFO L290 TraceCheckUtils]: 23: Hoare triple {52#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {52#true} is VALID [2022-04-28 10:41:19,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {52#true} assume !true; {53#false} is VALID [2022-04-28 10:41:19,382 INFO L290 TraceCheckUtils]: 25: Hoare triple {53#false} #res := ~l~0; {53#false} is VALID [2022-04-28 10:41:19,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,382 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {53#false} {53#false} #81#return; {53#false} is VALID [2022-04-28 10:41:19,383 INFO L290 TraceCheckUtils]: 28: Hoare triple {53#false} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {53#false} is VALID [2022-04-28 10:41:19,383 INFO L272 TraceCheckUtils]: 29: Hoare triple {53#false} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {53#false} is VALID [2022-04-28 10:41:19,383 INFO L290 TraceCheckUtils]: 30: Hoare triple {53#false} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {53#false} is VALID [2022-04-28 10:41:19,384 INFO L272 TraceCheckUtils]: 31: Hoare triple {53#false} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {52#true} is VALID [2022-04-28 10:41:19,385 INFO L290 TraceCheckUtils]: 32: Hoare triple {52#true} ~cond := #in~cond; {52#true} is VALID [2022-04-28 10:41:19,386 INFO L290 TraceCheckUtils]: 33: Hoare triple {52#true} assume 0 == ~cond;assume false; {53#false} is VALID [2022-04-28 10:41:19,387 INFO L290 TraceCheckUtils]: 34: Hoare triple {53#false} assume true; {53#false} is VALID [2022-04-28 10:41:19,387 INFO L284 TraceCheckUtils]: 35: Hoare quadruple {53#false} {53#false} #85#return; {53#false} is VALID [2022-04-28 10:41:19,387 INFO L290 TraceCheckUtils]: 36: Hoare triple {53#false} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {53#false} is VALID [2022-04-28 10:41:19,388 INFO L272 TraceCheckUtils]: 37: Hoare triple {53#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {53#false} is VALID [2022-04-28 10:41:19,389 INFO L290 TraceCheckUtils]: 38: Hoare triple {53#false} ~cond := #in~cond; {53#false} is VALID [2022-04-28 10:41:19,389 INFO L290 TraceCheckUtils]: 39: Hoare triple {53#false} assume 0 == ~cond; {53#false} is VALID [2022-04-28 10:41:19,391 INFO L290 TraceCheckUtils]: 40: Hoare triple {53#false} assume !false; {53#false} is VALID [2022-04-28 10:41:19,392 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:41:19,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:19,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122239673] [2022-04-28 10:41:19,399 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [122239673] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:19,399 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:19,399 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:41:19,403 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:19,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1714249783] [2022-04-28 10:41:19,404 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1714249783] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:19,404 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:19,404 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 10:41:19,405 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1279145904] [2022-04-28 10:41:19,406 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:19,413 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 10:41:19,415 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:19,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:41:19,474 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 10:41:19,474 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 10:41:19,474 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:19,498 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 10:41:19,498 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 10:41:19,501 INFO L87 Difference]: Start difference. First operand has 49 states, 30 states have (on average 1.2333333333333334) internal successors, (37), 31 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 7 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:41:19,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:19,826 INFO L93 Difference]: Finished difference Result 91 states and 113 transitions. [2022-04-28 10:41:19,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 10:41:19,827 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 41 [2022-04-28 10:41:19,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:19,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:41:19,837 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2022-04-28 10:41:19,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:41:19,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 113 transitions. [2022-04-28 10:41:19,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 113 transitions. [2022-04-28 10:41:19,957 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:19,965 INFO L225 Difference]: With dead ends: 91 [2022-04-28 10:41:19,965 INFO L226 Difference]: Without dead ends: 41 [2022-04-28 10:41:19,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-04-28 10:41:19,971 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 56 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 29 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 29 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:19,973 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 43 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 29 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 10:41:19,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-28 10:41:20,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2022-04-28 10:41:20,001 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:20,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:20,003 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:20,004 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:20,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:20,008 INFO L93 Difference]: Finished difference Result 41 states and 45 transitions. [2022-04-28 10:41:20,008 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 10:41:20,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:20,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:20,009 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 10:41:20,010 INFO L87 Difference]: Start difference. First operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 41 states. [2022-04-28 10:41:20,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:20,013 INFO L93 Difference]: Finished difference Result 41 states and 45 transitions. [2022-04-28 10:41:20,013 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 10:41:20,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:20,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:20,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:20,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:20,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 25 states have (on average 1.12) internal successors, (28), 26 states have internal predecessors, (28), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:20,017 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-28 10:41:20,019 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 41 [2022-04-28 10:41:20,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:20,019 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-28 10:41:20,020 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 2 states have internal predecessors, (20), 2 states have call successors, (9), 4 states have call predecessors, (9), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 10:41:20,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-28 10:41:20,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:20,069 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-28 10:41:20,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:41:20,070 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:20,070 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:20,071 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 10:41:20,071 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:20,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:20,072 INFO L85 PathProgramCache]: Analyzing trace with hash 1025657093, now seen corresponding path program 1 times [2022-04-28 10:41:20,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:20,072 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [539374948] [2022-04-28 10:41:20,073 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:41:20,073 INFO L85 PathProgramCache]: Analyzing trace with hash 1025657093, now seen corresponding path program 2 times [2022-04-28 10:41:20,073 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:20,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781438314] [2022-04-28 10:41:20,074 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:20,074 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:20,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,187 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:20,189 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,194 INFO L290 TraceCheckUtils]: 0: Hoare triple {459#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {430#true} is VALID [2022-04-28 10:41:20,195 INFO L290 TraceCheckUtils]: 1: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,195 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {430#true} {430#true} #91#return; {430#true} is VALID [2022-04-28 10:41:20,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:41:20,196 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,200 INFO L290 TraceCheckUtils]: 0: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,200 INFO L290 TraceCheckUtils]: 1: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,200 INFO L290 TraceCheckUtils]: 2: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,201 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {430#true} {430#true} #75#return; {430#true} is VALID [2022-04-28 10:41:20,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 10:41:20,209 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {460#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:20,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:20,223 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {430#true} #77#return; {442#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} is VALID [2022-04-28 10:41:20,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:41:20,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {430#true} {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #79#return; {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:20,232 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:41:20,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,291 INFO L290 TraceCheckUtils]: 0: Hoare triple {430#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {462#(= |lcp_#in~a.base| lcp_~a.base)} is VALID [2022-04-28 10:41:20,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {462#(= |lcp_#in~a.base| lcp_~a.base)} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {462#(= |lcp_#in~a.base| lcp_~a.base)} is VALID [2022-04-28 10:41:20,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {462#(= |lcp_#in~a.base| lcp_~a.base)} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {463#(or |lcp_#t~short7| (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|))))} is VALID [2022-04-28 10:41:20,294 INFO L290 TraceCheckUtils]: 3: Hoare triple {463#(or |lcp_#t~short7| (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|))))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,294 INFO L290 TraceCheckUtils]: 4: Hoare triple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} #res := ~l~0; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} assume true; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,296 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #81#return; {431#false} is VALID [2022-04-28 10:41:20,297 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 10:41:20,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:20,306 INFO L290 TraceCheckUtils]: 0: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,306 INFO L290 TraceCheckUtils]: 1: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,307 INFO L290 TraceCheckUtils]: 2: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,307 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {430#true} {431#false} #85#return; {431#false} is VALID [2022-04-28 10:41:20,308 INFO L272 TraceCheckUtils]: 0: Hoare triple {430#true} call ULTIMATE.init(); {459#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:20,308 INFO L290 TraceCheckUtils]: 1: Hoare triple {459#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {430#true} is VALID [2022-04-28 10:41:20,308 INFO L290 TraceCheckUtils]: 2: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,308 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {430#true} {430#true} #91#return; {430#true} is VALID [2022-04-28 10:41:20,309 INFO L272 TraceCheckUtils]: 4: Hoare triple {430#true} call #t~ret19 := main(); {430#true} is VALID [2022-04-28 10:41:20,310 INFO L290 TraceCheckUtils]: 5: Hoare triple {430#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {430#true} is VALID [2022-04-28 10:41:20,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {430#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {430#true} is VALID [2022-04-28 10:41:20,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,315 INFO L290 TraceCheckUtils]: 8: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,315 INFO L290 TraceCheckUtils]: 9: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,315 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {430#true} {430#true} #75#return; {430#true} is VALID [2022-04-28 10:41:20,317 INFO L290 TraceCheckUtils]: 11: Hoare triple {430#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {430#true} is VALID [2022-04-28 10:41:20,320 INFO L272 TraceCheckUtils]: 12: Hoare triple {430#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {460#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 10:41:20,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {460#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:20,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:20,323 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {461#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {430#true} #77#return; {442#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} is VALID [2022-04-28 10:41:20,323 INFO L290 TraceCheckUtils]: 16: Hoare triple {442#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:20,324 INFO L272 TraceCheckUtils]: 17: Hoare triple {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {430#true} is VALID [2022-04-28 10:41:20,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,324 INFO L290 TraceCheckUtils]: 19: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,325 INFO L290 TraceCheckUtils]: 20: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,326 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {430#true} {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #79#return; {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:20,326 INFO L272 TraceCheckUtils]: 22: Hoare triple {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {430#true} is VALID [2022-04-28 10:41:20,326 INFO L290 TraceCheckUtils]: 23: Hoare triple {430#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {462#(= |lcp_#in~a.base| lcp_~a.base)} is VALID [2022-04-28 10:41:20,327 INFO L290 TraceCheckUtils]: 24: Hoare triple {462#(= |lcp_#in~a.base| lcp_~a.base)} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {462#(= |lcp_#in~a.base| lcp_~a.base)} is VALID [2022-04-28 10:41:20,328 INFO L290 TraceCheckUtils]: 25: Hoare triple {462#(= |lcp_#in~a.base| lcp_~a.base)} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {463#(or |lcp_#t~short7| (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|))))} is VALID [2022-04-28 10:41:20,329 INFO L290 TraceCheckUtils]: 26: Hoare triple {463#(or |lcp_#t~short7| (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|))))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} #res := ~l~0; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,332 INFO L290 TraceCheckUtils]: 28: Hoare triple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} assume true; {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} is VALID [2022-04-28 10:41:20,334 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {464#(not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))} {443#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #81#return; {431#false} is VALID [2022-04-28 10:41:20,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {431#false} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {431#false} is VALID [2022-04-28 10:41:20,345 INFO L272 TraceCheckUtils]: 31: Hoare triple {431#false} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {431#false} is VALID [2022-04-28 10:41:20,345 INFO L290 TraceCheckUtils]: 32: Hoare triple {431#false} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {431#false} is VALID [2022-04-28 10:41:20,345 INFO L272 TraceCheckUtils]: 33: Hoare triple {431#false} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {430#true} is VALID [2022-04-28 10:41:20,345 INFO L290 TraceCheckUtils]: 34: Hoare triple {430#true} ~cond := #in~cond; {430#true} is VALID [2022-04-28 10:41:20,346 INFO L290 TraceCheckUtils]: 35: Hoare triple {430#true} assume !(0 == ~cond); {430#true} is VALID [2022-04-28 10:41:20,346 INFO L290 TraceCheckUtils]: 36: Hoare triple {430#true} assume true; {430#true} is VALID [2022-04-28 10:41:20,346 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {430#true} {431#false} #85#return; {431#false} is VALID [2022-04-28 10:41:20,346 INFO L290 TraceCheckUtils]: 38: Hoare triple {431#false} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {431#false} is VALID [2022-04-28 10:41:20,346 INFO L272 TraceCheckUtils]: 39: Hoare triple {431#false} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {431#false} is VALID [2022-04-28 10:41:20,346 INFO L290 TraceCheckUtils]: 40: Hoare triple {431#false} ~cond := #in~cond; {431#false} is VALID [2022-04-28 10:41:20,347 INFO L290 TraceCheckUtils]: 41: Hoare triple {431#false} assume 0 == ~cond; {431#false} is VALID [2022-04-28 10:41:20,347 INFO L290 TraceCheckUtils]: 42: Hoare triple {431#false} assume !false; {431#false} is VALID [2022-04-28 10:41:20,347 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:41:20,347 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:20,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781438314] [2022-04-28 10:41:20,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [781438314] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:20,348 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:20,348 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:41:20,348 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:20,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [539374948] [2022-04-28 10:41:20,348 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [539374948] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:20,349 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:20,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 10:41:20,349 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [442979141] [2022-04-28 10:41:20,349 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:20,350 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-28 10:41:20,350 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:20,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:20,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:20,391 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 10:41:20,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:20,392 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 10:41:20,392 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-04-28 10:41:20,393 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:21,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:21,153 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 10:41:21,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 10:41:21,156 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-28 10:41:21,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:21,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:21,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 10:41:21,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:21,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 10:41:21,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 10:41:21,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:21,249 INFO L225 Difference]: With dead ends: 64 [2022-04-28 10:41:21,249 INFO L226 Difference]: Without dead ends: 42 [2022-04-28 10:41:21,249 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2022-04-28 10:41:21,250 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 65 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 221 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 260 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 221 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:21,251 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 41 Invalid, 260 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 221 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 10:41:21,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-04-28 10:41:21,258 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2022-04-28 10:41:21,258 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:21,259 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:21,259 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:21,259 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:21,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:21,262 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 10:41:21,262 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:41:21,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:21,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:21,263 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 42 states. [2022-04-28 10:41:21,263 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 42 states. [2022-04-28 10:41:21,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:21,266 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 10:41:21,266 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:41:21,266 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:21,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:21,266 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:21,266 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:21,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.1153846153846154) internal successors, (29), 27 states have internal predecessors, (29), 10 states have call successors, (10), 7 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:21,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-28 10:41:21,269 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 43 [2022-04-28 10:41:21,269 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:21,269 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-28 10:41:21,269 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 7 states have internal predecessors, (22), 3 states have call successors, (9), 4 states have call predecessors, (9), 3 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:21,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 46 transitions. [2022-04-28 10:41:21,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:21,315 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-28 10:41:21,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 10:41:21,316 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:21,316 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:21,316 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-28 10:41:21,317 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:21,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:21,317 INFO L85 PathProgramCache]: Analyzing trace with hash -968487613, now seen corresponding path program 1 times [2022-04-28 10:41:21,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:21,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1445024227] [2022-04-28 10:41:21,318 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:41:21,318 INFO L85 PathProgramCache]: Analyzing trace with hash -968487613, now seen corresponding path program 2 times [2022-04-28 10:41:21,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:21,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1481351865] [2022-04-28 10:41:21,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:21,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:21,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,438 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:21,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,448 INFO L290 TraceCheckUtils]: 0: Hoare triple {812#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {778#true} is VALID [2022-04-28 10:41:21,449 INFO L290 TraceCheckUtils]: 1: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,449 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {778#true} {778#true} #91#return; {778#true} is VALID [2022-04-28 10:41:21,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:41:21,450 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,453 INFO L290 TraceCheckUtils]: 0: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #75#return; {778#true} is VALID [2022-04-28 10:41:21,462 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 10:41:21,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,484 INFO L290 TraceCheckUtils]: 0: Hoare triple {813#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:21,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:21,486 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {778#true} #77#return; {790#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} is VALID [2022-04-28 10:41:21,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:41:21,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,497 INFO L290 TraceCheckUtils]: 0: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,497 INFO L290 TraceCheckUtils]: 1: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,497 INFO L290 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {778#true} {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #79#return; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:41:21,505 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {778#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {778#true} is VALID [2022-04-28 10:41:21,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {778#true} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {778#true} is VALID [2022-04-28 10:41:21,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {778#true} assume !#t~short7; {778#true} is VALID [2022-04-28 10:41:21,519 INFO L290 TraceCheckUtils]: 3: Hoare triple {778#true} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {778#true} is VALID [2022-04-28 10:41:21,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {778#true} #res := ~l~0; {778#true} is VALID [2022-04-28 10:41:21,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,520 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {778#true} {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #81#return; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,520 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 10:41:21,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:21,533 INFO L290 TraceCheckUtils]: 0: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {778#true} {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} #85#return; {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} is VALID [2022-04-28 10:41:21,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {778#true} call ULTIMATE.init(); {812#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:21,540 INFO L290 TraceCheckUtils]: 1: Hoare triple {812#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {778#true} is VALID [2022-04-28 10:41:21,540 INFO L290 TraceCheckUtils]: 2: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {778#true} {778#true} #91#return; {778#true} is VALID [2022-04-28 10:41:21,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {778#true} call #t~ret19 := main(); {778#true} is VALID [2022-04-28 10:41:21,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {778#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {778#true} is VALID [2022-04-28 10:41:21,540 INFO L272 TraceCheckUtils]: 6: Hoare triple {778#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {778#true} is VALID [2022-04-28 10:41:21,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,541 INFO L290 TraceCheckUtils]: 9: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,541 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {778#true} {778#true} #75#return; {778#true} is VALID [2022-04-28 10:41:21,541 INFO L290 TraceCheckUtils]: 11: Hoare triple {778#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {778#true} is VALID [2022-04-28 10:41:21,542 INFO L272 TraceCheckUtils]: 12: Hoare triple {778#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {813#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 10:41:21,543 INFO L290 TraceCheckUtils]: 13: Hoare triple {813#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:21,543 INFO L290 TraceCheckUtils]: 14: Hoare triple {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 10:41:21,545 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {814#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {778#true} #77#return; {790#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} is VALID [2022-04-28 10:41:21,546 INFO L290 TraceCheckUtils]: 16: Hoare triple {790#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|))} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,546 INFO L272 TraceCheckUtils]: 17: Hoare triple {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {778#true} is VALID [2022-04-28 10:41:21,546 INFO L290 TraceCheckUtils]: 18: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,547 INFO L290 TraceCheckUtils]: 19: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,547 INFO L290 TraceCheckUtils]: 20: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,547 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {778#true} {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #79#return; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,548 INFO L272 TraceCheckUtils]: 22: Hoare triple {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {778#true} is VALID [2022-04-28 10:41:21,548 INFO L290 TraceCheckUtils]: 23: Hoare triple {778#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {778#true} is VALID [2022-04-28 10:41:21,548 INFO L290 TraceCheckUtils]: 24: Hoare triple {778#true} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {778#true} is VALID [2022-04-28 10:41:21,548 INFO L290 TraceCheckUtils]: 25: Hoare triple {778#true} assume !#t~short7; {778#true} is VALID [2022-04-28 10:41:21,548 INFO L290 TraceCheckUtils]: 26: Hoare triple {778#true} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {778#true} is VALID [2022-04-28 10:41:21,548 INFO L290 TraceCheckUtils]: 27: Hoare triple {778#true} #res := ~l~0; {778#true} is VALID [2022-04-28 10:41:21,549 INFO L290 TraceCheckUtils]: 28: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,549 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {778#true} {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #81#return; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,550 INFO L290 TraceCheckUtils]: 30: Hoare triple {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 10:41:21,552 INFO L272 TraceCheckUtils]: 31: Hoare triple {791#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {803#(= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))} is VALID [2022-04-28 10:41:21,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {803#(= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} is VALID [2022-04-28 10:41:21,553 INFO L272 TraceCheckUtils]: 33: Hoare triple {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {778#true} is VALID [2022-04-28 10:41:21,553 INFO L290 TraceCheckUtils]: 34: Hoare triple {778#true} ~cond := #in~cond; {778#true} is VALID [2022-04-28 10:41:21,553 INFO L290 TraceCheckUtils]: 35: Hoare triple {778#true} assume !(0 == ~cond); {778#true} is VALID [2022-04-28 10:41:21,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {778#true} assume true; {778#true} is VALID [2022-04-28 10:41:21,554 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {778#true} {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} #85#return; {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} is VALID [2022-04-28 10:41:21,555 INFO L290 TraceCheckUtils]: 38: Hoare triple {804#(and (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~x) check_~a.offset)) 0) (= (select (select |#memory_int| check_~a.base) (+ (* check_~i~0 4) (* 4 check_~y) check_~a.offset)) 0))} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {809#(= |check_#t~mem11| |check_#t~mem10|)} is VALID [2022-04-28 10:41:21,555 INFO L272 TraceCheckUtils]: 39: Hoare triple {809#(= |check_#t~mem11| |check_#t~mem10|)} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {810#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 10:41:21,556 INFO L290 TraceCheckUtils]: 40: Hoare triple {810#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {811#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 10:41:21,556 INFO L290 TraceCheckUtils]: 41: Hoare triple {811#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {779#false} is VALID [2022-04-28 10:41:21,556 INFO L290 TraceCheckUtils]: 42: Hoare triple {779#false} assume !false; {779#false} is VALID [2022-04-28 10:41:21,557 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:41:21,557 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:21,557 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1481351865] [2022-04-28 10:41:21,557 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1481351865] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:21,558 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:21,558 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:41:21,558 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:21,558 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1445024227] [2022-04-28 10:41:21,558 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1445024227] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:21,559 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:21,559 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:41:21,559 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1897503159] [2022-04-28 10:41:21,560 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:21,563 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-28 10:41:21,565 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:21,565 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:21,593 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:21,594 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:41:21,594 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:21,595 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:41:21,595 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=111, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:41:21,596 INFO L87 Difference]: Start difference. First operand 42 states and 46 transitions. Second operand has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:22,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:22,658 INFO L93 Difference]: Finished difference Result 48 states and 51 transitions. [2022-04-28 10:41:22,658 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:41:22,658 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 43 [2022-04-28 10:41:22,659 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:22,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:22,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 10:41:22,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:22,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 10:41:22,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-28 10:41:22,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:22,744 INFO L225 Difference]: With dead ends: 48 [2022-04-28 10:41:22,744 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 10:41:22,744 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=84, Invalid=378, Unknown=0, NotChecked=0, Total=462 [2022-04-28 10:41:22,745 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 69 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 341 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 377 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 341 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:22,746 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [69 Valid, 46 Invalid, 377 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 341 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:41:22,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 10:41:22,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 44. [2022-04-28 10:41:22,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:22,753 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:22,754 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:22,754 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:22,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:22,756 INFO L93 Difference]: Finished difference Result 44 states and 47 transitions. [2022-04-28 10:41:22,756 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2022-04-28 10:41:22,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:22,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:22,757 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-28 10:41:22,757 INFO L87 Difference]: Start difference. First operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 44 states. [2022-04-28 10:41:22,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:22,759 INFO L93 Difference]: Finished difference Result 44 states and 47 transitions. [2022-04-28 10:41:22,759 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2022-04-28 10:41:22,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:22,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:22,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:22,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:22,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 28 states have (on average 1.0714285714285714) internal successors, (30), 28 states have internal predecessors, (30), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:22,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 47 transitions. [2022-04-28 10:41:22,762 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 47 transitions. Word has length 43 [2022-04-28 10:41:22,762 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:22,762 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 47 transitions. [2022-04-28 10:41:22,763 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.0) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (9), 5 states have call predecessors, (9), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 10:41:22,763 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 47 transitions. [2022-04-28 10:41:22,809 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 10:41:22,809 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 47 transitions. [2022-04-28 10:41:22,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 10:41:22,810 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:22,810 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:22,810 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 10:41:22,811 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:22,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:22,811 INFO L85 PathProgramCache]: Analyzing trace with hash -582845443, now seen corresponding path program 1 times [2022-04-28 10:41:22,811 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:22,811 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [786595917] [2022-04-28 10:41:22,812 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:41:22,812 INFO L85 PathProgramCache]: Analyzing trace with hash -582845443, now seen corresponding path program 2 times [2022-04-28 10:41:22,812 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:22,812 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265346879] [2022-04-28 10:41:22,812 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:22,812 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:22,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,955 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:22,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,960 INFO L290 TraceCheckUtils]: 0: Hoare triple {1145#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1110#true} is VALID [2022-04-28 10:41:22,961 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:22,961 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1110#true} {1110#true} #91#return; {1110#true} is VALID [2022-04-28 10:41:22,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:41:22,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:22,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:22,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:22,966 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1110#true} {1110#true} #75#return; {1110#true} is VALID [2022-04-28 10:41:22,972 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 10:41:22,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,981 INFO L290 TraceCheckUtils]: 0: Hoare triple {1146#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1110#true} is VALID [2022-04-28 10:41:22,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:22,981 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1110#true} {1110#true} #77#return; {1110#true} is VALID [2022-04-28 10:41:22,981 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:41:22,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:22,985 INFO L290 TraceCheckUtils]: 0: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:22,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:22,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:22,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1110#true} {1110#true} #79#return; {1110#true} is VALID [2022-04-28 10:41:22,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:41:23,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:23,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {1110#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1147#(and (<= lcp_~l~0 0) (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,164 INFO L290 TraceCheckUtils]: 1: Hoare triple {1147#(and (<= lcp_~l~0 0) (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (<= 0 lcp_~l~0))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1148#(and (<= lcp_~l~0 0) (<= 0 lcp_~l~0) (or |lcp_#t~short7| (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)))} is VALID [2022-04-28 10:41:23,165 INFO L290 TraceCheckUtils]: 2: Hoare triple {1148#(and (<= lcp_~l~0 0) (<= 0 lcp_~l~0) (or |lcp_#t~short7| (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)))} assume !#t~short7; {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,165 INFO L290 TraceCheckUtils]: 3: Hoare triple {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,166 INFO L290 TraceCheckUtils]: 4: Hoare triple {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} #res := ~l~0; {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} is VALID [2022-04-28 10:41:23,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} assume true; {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} is VALID [2022-04-28 10:41:23,168 INFO L284 TraceCheckUtils]: 6: Hoare quadruple {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} {1110#true} #81#return; {1133#(and (= |main_#t~ret18| 0) (or (<= main_~n~0 main_~x~0) (<= main_~n~0 main_~y~0)))} is VALID [2022-04-28 10:41:23,168 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 10:41:23,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:23,174 INFO L290 TraceCheckUtils]: 0: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1110#true} {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} #85#return; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 39 [2022-04-28 10:41:23,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:23,181 INFO L290 TraceCheckUtils]: 0: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,181 INFO L290 TraceCheckUtils]: 1: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,181 INFO L290 TraceCheckUtils]: 2: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,182 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1110#true} {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} #87#return; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,183 INFO L272 TraceCheckUtils]: 0: Hoare triple {1110#true} call ULTIMATE.init(); {1145#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:23,183 INFO L290 TraceCheckUtils]: 1: Hoare triple {1145#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1110#true} is VALID [2022-04-28 10:41:23,183 INFO L290 TraceCheckUtils]: 2: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,183 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1110#true} {1110#true} #91#return; {1110#true} is VALID [2022-04-28 10:41:23,183 INFO L272 TraceCheckUtils]: 4: Hoare triple {1110#true} call #t~ret19 := main(); {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {1110#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L272 TraceCheckUtils]: 6: Hoare triple {1110#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1110#true} {1110#true} #75#return; {1110#true} is VALID [2022-04-28 10:41:23,184 INFO L290 TraceCheckUtils]: 11: Hoare triple {1110#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1110#true} is VALID [2022-04-28 10:41:23,185 INFO L272 TraceCheckUtils]: 12: Hoare triple {1110#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1146#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 10:41:23,185 INFO L290 TraceCheckUtils]: 13: Hoare triple {1146#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1110#true} {1110#true} #77#return; {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L290 TraceCheckUtils]: 16: Hoare triple {1110#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L272 TraceCheckUtils]: 17: Hoare triple {1110#true} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L290 TraceCheckUtils]: 18: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L290 TraceCheckUtils]: 19: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,186 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1110#true} {1110#true} #79#return; {1110#true} is VALID [2022-04-28 10:41:23,187 INFO L272 TraceCheckUtils]: 22: Hoare triple {1110#true} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {1110#true} is VALID [2022-04-28 10:41:23,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {1110#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1147#(and (<= lcp_~l~0 0) (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {1147#(and (<= lcp_~l~0 0) (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (<= 0 lcp_~l~0))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1148#(and (<= lcp_~l~0 0) (<= 0 lcp_~l~0) (or |lcp_#t~short7| (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)))} is VALID [2022-04-28 10:41:23,189 INFO L290 TraceCheckUtils]: 25: Hoare triple {1148#(and (<= lcp_~l~0 0) (<= 0 lcp_~l~0) (or |lcp_#t~short7| (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)))} assume !#t~short7; {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,189 INFO L290 TraceCheckUtils]: 26: Hoare triple {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} is VALID [2022-04-28 10:41:23,190 INFO L290 TraceCheckUtils]: 27: Hoare triple {1149#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= lcp_~l~0 0) (<= 0 lcp_~l~0))} #res := ~l~0; {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} is VALID [2022-04-28 10:41:23,190 INFO L290 TraceCheckUtils]: 28: Hoare triple {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} assume true; {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} is VALID [2022-04-28 10:41:23,191 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {1150#(and (or (<= |lcp_#in~n| |lcp_#in~x|) (<= |lcp_#in~n| |lcp_#in~y|)) (<= |lcp_#res| 0) (<= 0 |lcp_#res|))} {1110#true} #81#return; {1133#(and (= |main_#t~ret18| 0) (or (<= main_~n~0 main_~x~0) (<= main_~n~0 main_~y~0)))} is VALID [2022-04-28 10:41:23,192 INFO L290 TraceCheckUtils]: 30: Hoare triple {1133#(and (= |main_#t~ret18| 0) (or (<= main_~n~0 main_~x~0) (<= main_~n~0 main_~y~0)))} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {1134#(and (= main_~l~1 0) (or (<= main_~n~0 main_~x~0) (<= main_~n~0 main_~y~0)))} is VALID [2022-04-28 10:41:23,193 INFO L272 TraceCheckUtils]: 31: Hoare triple {1134#(and (= main_~l~1 0) (or (<= main_~n~0 main_~x~0) (<= main_~n~0 main_~y~0)))} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {1135#(and (= |check_#in~l| 0) (or (<= |check_#in~n| |check_#in~x|) (<= |check_#in~n| |check_#in~y|)))} is VALID [2022-04-28 10:41:23,193 INFO L290 TraceCheckUtils]: 32: Hoare triple {1135#(and (= |check_#in~l| 0) (or (<= |check_#in~n| |check_#in~x|) (<= |check_#in~n| |check_#in~y|)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,194 INFO L272 TraceCheckUtils]: 33: Hoare triple {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {1110#true} is VALID [2022-04-28 10:41:23,194 INFO L290 TraceCheckUtils]: 34: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,194 INFO L290 TraceCheckUtils]: 35: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,194 INFO L290 TraceCheckUtils]: 36: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,195 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1110#true} {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} #85#return; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,195 INFO L290 TraceCheckUtils]: 38: Hoare triple {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,195 INFO L272 TraceCheckUtils]: 39: Hoare triple {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1110#true} is VALID [2022-04-28 10:41:23,195 INFO L290 TraceCheckUtils]: 40: Hoare triple {1110#true} ~cond := #in~cond; {1110#true} is VALID [2022-04-28 10:41:23,195 INFO L290 TraceCheckUtils]: 41: Hoare triple {1110#true} assume !(0 == ~cond); {1110#true} is VALID [2022-04-28 10:41:23,196 INFO L290 TraceCheckUtils]: 42: Hoare triple {1110#true} assume true; {1110#true} is VALID [2022-04-28 10:41:23,196 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {1110#true} {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} #87#return; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,197 INFO L290 TraceCheckUtils]: 44: Hoare triple {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} havoc #t~mem10;havoc #t~mem11; {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} is VALID [2022-04-28 10:41:23,197 INFO L290 TraceCheckUtils]: 45: Hoare triple {1136#(and (= check_~l 0) (or (<= check_~n check_~y) (<= check_~n check_~x)))} assume ~x + ~l < ~n && ~y + ~l < ~n;call #t~mem12 := read~int(~a.base, ~a.offset + 4 * (~x + ~l), 4);call #t~mem13 := read~int(~a.base, ~a.offset + 4 * (~y + ~l), 4); {1111#false} is VALID [2022-04-28 10:41:23,198 INFO L272 TraceCheckUtils]: 46: Hoare triple {1111#false} call __VERIFIER_assert((if #t~mem12 != #t~mem13 then 1 else 0)); {1111#false} is VALID [2022-04-28 10:41:23,198 INFO L290 TraceCheckUtils]: 47: Hoare triple {1111#false} ~cond := #in~cond; {1111#false} is VALID [2022-04-28 10:41:23,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {1111#false} assume 0 == ~cond; {1111#false} is VALID [2022-04-28 10:41:23,198 INFO L290 TraceCheckUtils]: 49: Hoare triple {1111#false} assume !false; {1111#false} is VALID [2022-04-28 10:41:23,198 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 10:41:23,199 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:23,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265346879] [2022-04-28 10:41:23,199 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265346879] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:23,199 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:23,199 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:41:23,199 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:23,199 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [786595917] [2022-04-28 10:41:23,199 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [786595917] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:23,200 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:23,200 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:41:23,200 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [752716555] [2022-04-28 10:41:23,200 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:23,200 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 50 [2022-04-28 10:41:23,201 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:23,201 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:23,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:23,234 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:41:23,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:23,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:41:23,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=110, Unknown=0, NotChecked=0, Total=132 [2022-04-28 10:41:23,235 INFO L87 Difference]: Start difference. First operand 44 states and 47 transitions. Second operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:24,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:24,571 INFO L93 Difference]: Finished difference Result 64 states and 70 transitions. [2022-04-28 10:41:24,571 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:41:24,571 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 50 [2022-04-28 10:41:24,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:24,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:24,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 68 transitions. [2022-04-28 10:41:24,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:24,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 68 transitions. [2022-04-28 10:41:24,576 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 68 transitions. [2022-04-28 10:41:24,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:24,637 INFO L225 Difference]: With dead ends: 64 [2022-04-28 10:41:24,637 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 10:41:24,638 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=84, Invalid=336, Unknown=0, NotChecked=0, Total=420 [2022-04-28 10:41:24,639 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 72 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 415 mSolverCounterSat, 43 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 75 SdHoareTripleChecker+Valid, 46 SdHoareTripleChecker+Invalid, 458 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 43 IncrementalHoareTripleChecker+Valid, 415 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:24,639 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [75 Valid, 46 Invalid, 458 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [43 Valid, 415 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 10:41:24,640 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 10:41:24,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 46. [2022-04-28 10:41:24,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:24,659 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:24,660 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:24,660 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:24,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:24,662 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2022-04-28 10:41:24,662 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2022-04-28 10:41:24,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:24,662 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:24,663 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 10:41:24,663 INFO L87 Difference]: Start difference. First operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 10:41:24,665 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:24,665 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2022-04-28 10:41:24,665 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 52 transitions. [2022-04-28 10:41:24,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:24,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:24,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:24,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:24,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 30 states have (on average 1.1) internal successors, (33), 30 states have internal predecessors, (33), 10 states have call successors, (10), 8 states have call predecessors, (10), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 10:41:24,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 10:41:24,667 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 50 [2022-04-28 10:41:24,667 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:24,667 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 10:41:24,668 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.4545454545454546) internal successors, (27), 8 states have internal predecessors, (27), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:24,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-28 10:41:24,716 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:24,717 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 10:41:24,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-04-28 10:41:24,717 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 10:41:24,718 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 10:41:24,718 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-28 10:41:24,718 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 10:41:24,718 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 10:41:24,718 INFO L85 PathProgramCache]: Analyzing trace with hash 611931899, now seen corresponding path program 1 times [2022-04-28 10:41:24,718 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:24,718 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1120801479] [2022-04-28 10:41:24,721 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 10:41:24,722 INFO L85 PathProgramCache]: Analyzing trace with hash 611931899, now seen corresponding path program 2 times [2022-04-28 10:41:24,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 10:41:24,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [400023646] [2022-04-28 10:41:24,722 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 10:41:24,722 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 10:41:24,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:24,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 10:41:24,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:24,882 INFO L290 TraceCheckUtils]: 0: Hoare triple {1526#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1488#true} is VALID [2022-04-28 10:41:24,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:24,883 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1488#true} {1488#true} #91#return; {1488#true} is VALID [2022-04-28 10:41:24,883 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 10:41:24,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:24,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:24,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:24,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:24,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1488#true} #75#return; {1488#true} is VALID [2022-04-28 10:41:24,892 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 10:41:24,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:24,896 INFO L290 TraceCheckUtils]: 0: Hoare triple {1527#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1488#true} is VALID [2022-04-28 10:41:24,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:24,897 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1488#true} {1488#true} #77#return; {1488#true} is VALID [2022-04-28 10:41:24,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 10:41:24,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:24,901 INFO L290 TraceCheckUtils]: 0: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:24,901 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:24,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:24,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1488#true} #79#return; {1488#true} is VALID [2022-04-28 10:41:24,902 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 10:41:24,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:25,003 INFO L290 TraceCheckUtils]: 0: Hoare triple {1488#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,006 INFO L290 TraceCheckUtils]: 3: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} assume !!#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7;#t~post8 := ~l~0;~l~0 := 1 + #t~post8;havoc #t~post8; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,006 INFO L290 TraceCheckUtils]: 4: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,007 INFO L290 TraceCheckUtils]: 5: Hoare triple {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,007 INFO L290 TraceCheckUtils]: 6: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} #res := ~l~0; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:25,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} assume true; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:25,009 INFO L284 TraceCheckUtils]: 9: Hoare quadruple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} {1488#true} #81#return; {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} is VALID [2022-04-28 10:41:25,009 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 36 [2022-04-28 10:41:25,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:25,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,017 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,018 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #85#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,018 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 42 [2022-04-28 10:41:25,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:25,022 INFO L290 TraceCheckUtils]: 0: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,023 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #87#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,024 INFO L272 TraceCheckUtils]: 0: Hoare triple {1488#true} call ULTIMATE.init(); {1526#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 10:41:25,024 INFO L290 TraceCheckUtils]: 1: Hoare triple {1526#(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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1488#true} is VALID [2022-04-28 10:41:25,024 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,024 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1488#true} #91#return; {1488#true} is VALID [2022-04-28 10:41:25,024 INFO L272 TraceCheckUtils]: 4: Hoare triple {1488#true} call #t~ret19 := main(); {1488#true} is VALID [2022-04-28 10:41:25,024 INFO L290 TraceCheckUtils]: 5: Hoare triple {1488#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {1488#true} is VALID [2022-04-28 10:41:25,024 INFO L272 TraceCheckUtils]: 6: Hoare triple {1488#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:25,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1488#true} {1488#true} #75#return; {1488#true} is VALID [2022-04-28 10:41:25,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {1488#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L272 TraceCheckUtils]: 12: Hoare triple {1488#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1527#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 10:41:25,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {1527#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1488#true} {1488#true} #77#return; {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {1488#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L272 TraceCheckUtils]: 17: Hoare triple {1488#true} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:25,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,027 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1488#true} {1488#true} #79#return; {1488#true} is VALID [2022-04-28 10:41:25,027 INFO L272 TraceCheckUtils]: 22: Hoare triple {1488#true} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {1488#true} is VALID [2022-04-28 10:41:25,027 INFO L290 TraceCheckUtils]: 23: Hoare triple {1488#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,028 INFO L290 TraceCheckUtils]: 24: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,028 INFO L290 TraceCheckUtils]: 25: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} assume !!#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7;#t~post8 := ~l~0;~l~0 := 1 + #t~post8;havoc #t~post8; {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} is VALID [2022-04-28 10:41:25,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {1528#(and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,030 INFO L290 TraceCheckUtils]: 28: Hoare triple {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,030 INFO L290 TraceCheckUtils]: 29: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:25,031 INFO L290 TraceCheckUtils]: 30: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} #res := ~l~0; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:25,031 INFO L290 TraceCheckUtils]: 31: Hoare triple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} assume true; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:25,032 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} {1488#true} #81#return; {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} is VALID [2022-04-28 10:41:25,033 INFO L290 TraceCheckUtils]: 33: Hoare triple {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} is VALID [2022-04-28 10:41:25,034 INFO L272 TraceCheckUtils]: 34: Hoare triple {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} is VALID [2022-04-28 10:41:25,034 INFO L290 TraceCheckUtils]: 35: Hoare triple {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,035 INFO L272 TraceCheckUtils]: 36: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:25,035 INFO L290 TraceCheckUtils]: 37: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,035 INFO L290 TraceCheckUtils]: 39: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,036 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #85#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,036 INFO L272 TraceCheckUtils]: 42: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:25,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:25,036 INFO L290 TraceCheckUtils]: 44: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:25,036 INFO L290 TraceCheckUtils]: 45: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:25,037 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #87#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,037 INFO L290 TraceCheckUtils]: 47: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} havoc #t~mem10;havoc #t~mem11; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:25,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} assume ~x + ~l < ~n && ~y + ~l < ~n;call #t~mem12 := read~int(~a.base, ~a.offset + 4 * (~x + ~l), 4);call #t~mem13 := read~int(~a.base, ~a.offset + 4 * (~y + ~l), 4); {1489#false} is VALID [2022-04-28 10:41:25,038 INFO L272 TraceCheckUtils]: 49: Hoare triple {1489#false} call __VERIFIER_assert((if #t~mem12 != #t~mem13 then 1 else 0)); {1489#false} is VALID [2022-04-28 10:41:25,038 INFO L290 TraceCheckUtils]: 50: Hoare triple {1489#false} ~cond := #in~cond; {1489#false} is VALID [2022-04-28 10:41:25,038 INFO L290 TraceCheckUtils]: 51: Hoare triple {1489#false} assume 0 == ~cond; {1489#false} is VALID [2022-04-28 10:41:25,038 INFO L290 TraceCheckUtils]: 52: Hoare triple {1489#false} assume !false; {1489#false} is VALID [2022-04-28 10:41:25,039 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 10:41:25,039 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 10:41:25,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [400023646] [2022-04-28 10:41:25,039 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [400023646] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 10:41:25,039 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [380451938] [2022-04-28 10:41:25,039 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 10:41:25,039 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:25,040 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 10:41:25,044 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 10:41:25,048 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 10:41:25,129 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 10:41:25,129 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 10:41:25,131 INFO L263 TraceCheckSpWp]: Trace formula consists of 231 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-28 10:41:25,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 10:41:25,167 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 10:41:26,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {1488#true} call ULTIMATE.init(); {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1488#true} #91#return; {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1488#true} call #t~ret19 := main(); {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L290 TraceCheckUtils]: 5: Hoare triple {1488#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {1488#true} is VALID [2022-04-28 10:41:26,750 INFO L272 TraceCheckUtils]: 6: Hoare triple {1488#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1488#true} {1488#true} #75#return; {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {1488#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L272 TraceCheckUtils]: 12: Hoare triple {1488#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 13: Hoare triple {1488#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L290 TraceCheckUtils]: 14: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,751 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1488#true} {1488#true} #77#return; {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L290 TraceCheckUtils]: 16: Hoare triple {1488#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L272 TraceCheckUtils]: 17: Hoare triple {1488#true} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1488#true} {1488#true} #79#return; {1488#true} is VALID [2022-04-28 10:41:26,752 INFO L272 TraceCheckUtils]: 22: Hoare triple {1488#true} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {1488#true} is VALID [2022-04-28 10:41:26,757 INFO L290 TraceCheckUtils]: 23: Hoare triple {1488#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} is VALID [2022-04-28 10:41:26,758 INFO L290 TraceCheckUtils]: 24: Hoare triple {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} is VALID [2022-04-28 10:41:26,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} is VALID [2022-04-28 10:41:26,759 INFO L290 TraceCheckUtils]: 26: Hoare triple {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} assume !!#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7;#t~post8 := ~l~0;~l~0 := 1 + #t~post8;havoc #t~post8; {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} is VALID [2022-04-28 10:41:26,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {1604#(and (<= lcp_~y |lcp_#in~y|) (<= |lcp_#in~n| lcp_~n) (<= lcp_~x |lcp_#in~x|))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:26,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:26,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:26,761 INFO L290 TraceCheckUtils]: 30: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} #res := ~l~0; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:26,761 INFO L290 TraceCheckUtils]: 31: Hoare triple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} assume true; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:26,762 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} {1488#true} #81#return; {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} is VALID [2022-04-28 10:41:26,763 INFO L290 TraceCheckUtils]: 33: Hoare triple {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} is VALID [2022-04-28 10:41:26,764 INFO L272 TraceCheckUtils]: 34: Hoare triple {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} is VALID [2022-04-28 10:41:26,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:26,765 INFO L272 TraceCheckUtils]: 36: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:26,765 INFO L290 TraceCheckUtils]: 37: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:26,765 INFO L290 TraceCheckUtils]: 38: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:26,765 INFO L290 TraceCheckUtils]: 39: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,765 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #85#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:26,766 INFO L290 TraceCheckUtils]: 41: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:26,766 INFO L272 TraceCheckUtils]: 42: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:26,766 INFO L290 TraceCheckUtils]: 43: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:26,766 INFO L290 TraceCheckUtils]: 44: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:26,766 INFO L290 TraceCheckUtils]: 45: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:26,767 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #87#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:26,767 INFO L290 TraceCheckUtils]: 47: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} havoc #t~mem10;havoc #t~mem11; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:26,768 INFO L290 TraceCheckUtils]: 48: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} assume ~x + ~l < ~n && ~y + ~l < ~n;call #t~mem12 := read~int(~a.base, ~a.offset + 4 * (~x + ~l), 4);call #t~mem13 := read~int(~a.base, ~a.offset + 4 * (~y + ~l), 4); {1489#false} is VALID [2022-04-28 10:41:26,768 INFO L272 TraceCheckUtils]: 49: Hoare triple {1489#false} call __VERIFIER_assert((if #t~mem12 != #t~mem13 then 1 else 0)); {1489#false} is VALID [2022-04-28 10:41:26,768 INFO L290 TraceCheckUtils]: 50: Hoare triple {1489#false} ~cond := #in~cond; {1489#false} is VALID [2022-04-28 10:41:26,768 INFO L290 TraceCheckUtils]: 51: Hoare triple {1489#false} assume 0 == ~cond; {1489#false} is VALID [2022-04-28 10:41:26,768 INFO L290 TraceCheckUtils]: 52: Hoare triple {1489#false} assume !false; {1489#false} is VALID [2022-04-28 10:41:26,768 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 10:41:26,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 10:41:28,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {1489#false} assume !false; {1489#false} is VALID [2022-04-28 10:41:28,488 INFO L290 TraceCheckUtils]: 51: Hoare triple {1489#false} assume 0 == ~cond; {1489#false} is VALID [2022-04-28 10:41:28,488 INFO L290 TraceCheckUtils]: 50: Hoare triple {1489#false} ~cond := #in~cond; {1489#false} is VALID [2022-04-28 10:41:28,488 INFO L272 TraceCheckUtils]: 49: Hoare triple {1489#false} call __VERIFIER_assert((if #t~mem12 != #t~mem13 then 1 else 0)); {1489#false} is VALID [2022-04-28 10:41:28,489 INFO L290 TraceCheckUtils]: 48: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} assume ~x + ~l < ~n && ~y + ~l < ~n;call #t~mem12 := read~int(~a.base, ~a.offset + 4 * (~x + ~l), 4);call #t~mem13 := read~int(~a.base, ~a.offset + 4 * (~y + ~l), 4); {1489#false} is VALID [2022-04-28 10:41:28,489 INFO L290 TraceCheckUtils]: 47: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} havoc #t~mem10;havoc #t~mem11; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:28,490 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #87#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:28,490 INFO L290 TraceCheckUtils]: 45: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,490 INFO L290 TraceCheckUtils]: 44: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:28,491 INFO L290 TraceCheckUtils]: 43: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:28,491 INFO L272 TraceCheckUtils]: 42: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call __VERIFIER_assert((if #t~mem10 == #t~mem11 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:28,491 INFO L290 TraceCheckUtils]: 41: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call #t~mem10 := read~int(~a.base, ~a.offset + 4 * (~x + ~i~0), 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * (~y + ~i~0), 4); {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:28,492 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1488#true} {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} #85#return; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:28,492 INFO L290 TraceCheckUtils]: 39: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,492 INFO L290 TraceCheckUtils]: 38: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:28,492 INFO L290 TraceCheckUtils]: 37: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:28,492 INFO L272 TraceCheckUtils]: 36: Hoare triple {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~l then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:28,493 INFO L290 TraceCheckUtils]: 35: Hoare triple {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l := #in~l;assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;~i~0 := #t~nondet9;havoc #t~nondet9; {1517#(or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x)))} is VALID [2022-04-28 10:41:28,494 INFO L272 TraceCheckUtils]: 34: Hoare triple {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} call check(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0, ~l~1); {1516#(or (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|)) (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))} is VALID [2022-04-28 10:41:28,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} assume -2147483648 <= #t~ret18 && #t~ret18 <= 2147483647;~l~1 := #t~ret18;havoc #t~ret18; {1515#(or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0)))} is VALID [2022-04-28 10:41:28,496 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} {1488#true} #81#return; {1514#(or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0)))} is VALID [2022-04-28 10:41:28,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} assume true; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:28,497 INFO L290 TraceCheckUtils]: 30: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} #res := ~l~0; {1531#(or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|)))} is VALID [2022-04-28 10:41:28,497 INFO L290 TraceCheckUtils]: 29: Hoare triple {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:28,498 INFO L290 TraceCheckUtils]: 28: Hoare triple {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} assume !#t~short7; {1530#(or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:28,499 INFO L290 TraceCheckUtils]: 27: Hoare triple {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1529#(or |lcp_#t~short7| (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))} is VALID [2022-04-28 10:41:28,500 INFO L290 TraceCheckUtils]: 26: Hoare triple {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} assume !!#t~short7;havoc #t~mem5;havoc #t~mem6;havoc #t~short7;#t~post8 := ~l~0;~l~0 := 1 + #t~post8;havoc #t~post8; {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} is VALID [2022-04-28 10:41:28,500 INFO L290 TraceCheckUtils]: 25: Hoare triple {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} assume #t~short7;call #t~mem5 := read~int(~a.base, ~a.offset + 4 * (~x + ~l~0), 4);call #t~mem6 := read~int(~a.base, ~a.offset + 4 * (~y + ~l~0), 4);#t~short7 := #t~mem5 == #t~mem6; {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} is VALID [2022-04-28 10:41:28,501 INFO L290 TraceCheckUtils]: 24: Hoare triple {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} #t~short7 := ~x + ~l~0 < ~n && ~y + ~l~0 < ~n; {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} is VALID [2022-04-28 10:41:28,502 INFO L290 TraceCheckUtils]: 23: Hoare triple {1488#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~x := #in~x;~y := #in~y;~l~0 := 0; {1770#(and (or (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~y| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~x) (+ |lcp_#in~x| lcp_~n))) (or (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~x| lcp_~n)) (<= (+ |lcp_#in~n| lcp_~y) (+ |lcp_#in~y| lcp_~n))))} is VALID [2022-04-28 10:41:28,502 INFO L272 TraceCheckUtils]: 22: Hoare triple {1488#true} call #t~ret18 := lcp(~a~0.base, ~a~0.offset, ~n~0, ~x~0, ~y~0); {1488#true} is VALID [2022-04-28 10:41:28,502 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1488#true} {1488#true} #79#return; {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L290 TraceCheckUtils]: 20: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L290 TraceCheckUtils]: 19: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L290 TraceCheckUtils]: 18: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L272 TraceCheckUtils]: 17: Hoare triple {1488#true} call assume_abort_if_not((if ~x~0 >= 0 && ~y~0 >= 0 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L290 TraceCheckUtils]: 16: Hoare triple {1488#true} ~a~0.base, ~a~0.offset := #t~malloc15.base, #t~malloc15.offset;assume -2147483648 <= #t~nondet16 && #t~nondet16 <= 2147483647;~x~0 := #t~nondet16;havoc #t~nondet16;assume -2147483648 <= #t~nondet17 && #t~nondet17 <= 2147483647;~y~0 := #t~nondet17;havoc #t~nondet17; {1488#true} is VALID [2022-04-28 10:41:28,503 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1488#true} {1488#true} #77#return; {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L290 TraceCheckUtils]: 14: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L290 TraceCheckUtils]: 13: Hoare triple {1488#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L272 TraceCheckUtils]: 12: Hoare triple {1488#true} call #Ultimate.meminit(#t~malloc15.base, #t~malloc15.offset, ~n~0, 4, 4 * ~n~0); {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L290 TraceCheckUtils]: 11: Hoare triple {1488#true} call #t~malloc15.base, #t~malloc15.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1488#true} {1488#true} #75#return; {1488#true} is VALID [2022-04-28 10:41:28,504 INFO L290 TraceCheckUtils]: 9: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L290 TraceCheckUtils]: 8: Hoare triple {1488#true} assume !(0 == ~cond); {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L290 TraceCheckUtils]: 7: Hoare triple {1488#true} ~cond := #in~cond; {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L272 TraceCheckUtils]: 6: Hoare triple {1488#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L290 TraceCheckUtils]: 5: Hoare triple {1488#true} assume -2147483648 <= #t~nondet14 && #t~nondet14 <= 2147483647;~n~0 := #t~nondet14;havoc #t~nondet14; {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L272 TraceCheckUtils]: 4: Hoare triple {1488#true} call #t~ret19 := main(); {1488#true} is VALID [2022-04-28 10:41:28,505 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1488#true} {1488#true} #91#return; {1488#true} is VALID [2022-04-28 10:41:28,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {1488#true} assume true; {1488#true} is VALID [2022-04-28 10:41:28,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {1488#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(6, 2);call write~init~int(108, 2, 0, 1);call write~init~int(99, 2, 1, 1);call write~init~int(112, 2, 2, 1);call write~init~int(46, 2, 3, 1);call write~init~int(99, 2, 4, 1);call write~init~int(0, 2, 5, 1);call #Ultimate.allocInit(12, 3); {1488#true} is VALID [2022-04-28 10:41:28,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {1488#true} call ULTIMATE.init(); {1488#true} is VALID [2022-04-28 10:41:28,507 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-28 10:41:28,508 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [380451938] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 10:41:28,508 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 10:41:28,508 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10, 10] total 14 [2022-04-28 10:41:28,508 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 10:41:28,508 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1120801479] [2022-04-28 10:41:28,509 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1120801479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 10:41:28,509 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 10:41:28,509 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 10:41:28,509 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863105578] [2022-04-28 10:41:28,509 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 10:41:28,510 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 53 [2022-04-28 10:41:28,512 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 10:41:28,512 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:28,547 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 10:41:28,548 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 10:41:28,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 10:41:28,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 10:41:28,548 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2022-04-28 10:41:28,549 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:29,570 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:29,570 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-28 10:41:29,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 10:41:29,570 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 53 [2022-04-28 10:41:29,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 10:41:29,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:29,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 10:41:29,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:29,574 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-28 10:41:29,575 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-28 10:41:29,640 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 10:41:29,640 INFO L225 Difference]: With dead ends: 49 [2022-04-28 10:41:29,640 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 10:41:29,641 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 116 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-28 10:41:29,641 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 52 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 329 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 329 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 10:41:29,643 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 43 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 329 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 10:41:29,644 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 10:41:29,644 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 10:41:29,644 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 10:41:29,644 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 10:41:29,644 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 10:41:29,644 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 10:41:29,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:29,645 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 10:41:29,645 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 10:41:29,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:29,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:29,645 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 10:41:29,645 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 10:41:29,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 10:41:29,645 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 10:41:29,645 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 10:41:29,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:29,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 10:41:29,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 10:41:29,645 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 10:41:29,645 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 10:41:29,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 10:41:29,646 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 53 [2022-04-28 10:41:29,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 10:41:29,646 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 10:41:29,646 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (10), 5 states have call predecessors, (10), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 10:41:29,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 10:41:29,646 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 10:41:29,646 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 10:41:29,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 10:41:29,649 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 10:41:29,669 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 10:41:29,859 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 10:41:29,861 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 10:41:30,737 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 11) no Hoare annotation was computed. [2022-04-28 10:41:30,737 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 11) no Hoare annotation was computed. [2022-04-28 10:41:30,737 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 11) no Hoare annotation was computed. [2022-04-28 10:41:30,737 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 5 7) the Hoare annotation is: true [2022-04-28 10:41:30,737 INFO L902 garLoopResultBuilder]: At program point L6(line 6) the Hoare annotation is: true [2022-04-28 10:41:30,737 INFO L902 garLoopResultBuilder]: At program point L6-2(lines 5 7) the Hoare annotation is: true [2022-04-28 10:41:30,737 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 5 7) the Hoare annotation is: true [2022-04-28 10:41:30,737 INFO L895 garLoopResultBuilder]: At program point mainENTRY(lines 35 49) the Hoare annotation is: (= |#memory_int| |old(#memory_int)|) [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse0 ((as const (Array Int Int)) 0))) (and (= (select |#memory_int| main_~a~0.base) .cse0) (or (<= main_~n~0 (+ main_~l~1 main_~y~0)) (<= main_~n~0 (+ main_~l~1 main_~x~0))) (= .cse0 (select |#memory_int| |main_#t~malloc15.base|)))) [2022-04-28 10:41:30,738 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 35 49) the Hoare annotation is: true [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L44(line 44) the Hoare annotation is: (let ((.cse0 ((as const (Array Int Int)) 0))) (and (= (select |#memory_int| main_~a~0.base) .cse0) (or (<= main_~n~0 (+ |main_#t~ret18| main_~x~0)) (<= main_~n~0 (+ |main_#t~ret18| main_~y~0))) (= .cse0 (select |#memory_int| |main_#t~malloc15.base|)))) [2022-04-28 10:41:30,738 INFO L902 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: true [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L43(line 43) the Hoare annotation is: (let ((.cse0 ((as const (Array Int Int)) 0))) (and (= (select |#memory_int| main_~a~0.base) .cse0) (= .cse0 (select |#memory_int| |main_#t~malloc15.base|)))) [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L43-1(line 43) the Hoare annotation is: (let ((.cse0 ((as const (Array Int Int)) 0))) (and (= (select |#memory_int| main_~a~0.base) .cse0) (= .cse0 (select |#memory_int| |main_#t~malloc15.base|)))) [2022-04-28 10:41:30,738 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 35 49) the Hoare annotation is: true [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L39(line 39) the Hoare annotation is: (= |#memory_int| |old(#memory_int)|) [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (= |#memory_int| |old(#memory_int)|) [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L39-1(line 39) the Hoare annotation is: (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc15.base|)) [2022-04-28 10:41:30,738 INFO L895 garLoopResultBuilder]: At program point L38-1(line 38) the Hoare annotation is: (= |#memory_int| |old(#memory_int)|) [2022-04-28 10:41:30,739 INFO L895 garLoopResultBuilder]: At program point L32(line 32) the Hoare annotation is: (or (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))) (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|))))) [2022-04-28 10:41:30,739 INFO L902 garLoopResultBuilder]: At program point checkENTRY(lines 24 33) the Hoare annotation is: true [2022-04-28 10:41:30,739 INFO L895 garLoopResultBuilder]: At program point L31(lines 31 32) the Hoare annotation is: (let ((.cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))))) (and (or .cse0 (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))) (let ((.cse1 (select |#memory_int| check_~a.base)) (.cse2 (* check_~i~0 4))) (and (or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x))) (= (select .cse1 (+ .cse2 (* 4 check_~x) check_~a.offset)) 0) (= (select .cse1 (+ .cse2 (* 4 check_~y) check_~a.offset)) 0)))) (or .cse0 (and (not (<= |check_#in~n| |check_#in~y|)) (not (<= |check_#in~n| |check_#in~x|))) (= check_~l 0) (not (= |check_#in~l| 0))))) [2022-04-28 10:41:30,739 INFO L902 garLoopResultBuilder]: At program point L32-1(line 32) the Hoare annotation is: true [2022-04-28 10:41:30,739 INFO L902 garLoopResultBuilder]: At program point L31-2(lines 24 33) the Hoare annotation is: true [2022-04-28 10:41:30,739 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (let ((.cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))))) (and (or .cse0 (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))) (let ((.cse1 (select |#memory_int| check_~a.base)) (.cse2 (* check_~i~0 4))) (and (or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x))) (= |check_#t~mem11| |check_#t~mem10|) (= (select .cse1 (+ .cse2 (* 4 check_~x) check_~a.offset)) 0) (= (select .cse1 (+ .cse2 (* 4 check_~y) check_~a.offset)) 0)))) (or .cse0 (and (not (<= |check_#in~n| |check_#in~y|)) (not (<= |check_#in~n| |check_#in~x|))) (= check_~l 0) (not (= |check_#in~l| 0))))) [2022-04-28 10:41:30,739 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (let ((.cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))))) (and (or .cse0 (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))) (let ((.cse1 (select |#memory_int| check_~a.base)) (.cse2 (* check_~i~0 4))) (and (or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x))) (= (select .cse1 (+ .cse2 (* 4 check_~x) check_~a.offset)) 0) (= (select .cse1 (+ .cse2 (* 4 check_~y) check_~a.offset)) 0)))) (or .cse0 (and (not (<= |check_#in~n| |check_#in~y|)) (not (<= |check_#in~n| |check_#in~x|))) (= check_~l 0) (not (= |check_#in~l| 0))))) [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (let ((.cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))))) (and (or .cse0 (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))) (let ((.cse1 (select |#memory_int| check_~a.base)) (.cse2 (* check_~i~0 4))) (and (or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x))) (= |check_#t~mem11| |check_#t~mem10|) (= (select .cse1 (+ .cse2 (* 4 check_~x) check_~a.offset)) 0) (= (select .cse1 (+ .cse2 (* 4 check_~y) check_~a.offset)) 0)))) (or .cse0 (and (not (<= |check_#in~n| |check_#in~y|)) (not (<= |check_#in~n| |check_#in~x|))) (= check_~l 0) (not (= |check_#in~l| 0))))) [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (let ((.cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |check_#in~a.base|))))) (and (or .cse0 (and (not (<= |check_#in~n| (+ |check_#in~x| |check_#in~l|))) (not (<= |check_#in~n| (+ |check_#in~y| |check_#in~l|)))) (let ((.cse1 (select |#memory_int| check_~a.base)) (.cse2 (* check_~i~0 4))) (and (or (<= check_~n (+ check_~l check_~y)) (<= check_~n (+ check_~l check_~x))) (= (select .cse1 (+ .cse2 (* 4 check_~x) check_~a.offset)) 0) (= (select .cse1 (+ .cse2 (* 4 check_~y) check_~a.offset)) 0)))) (or .cse0 (and (not (<= |check_#in~n| |check_#in~y|)) (not (<= |check_#in~n| |check_#in~x|))) (= check_~l 0) (not (= |check_#in~l| 0))))) [2022-04-28 10:41:30,740 INFO L902 garLoopResultBuilder]: At program point checkEXIT(lines 24 33) the Hoare annotation is: true [2022-04-28 10:41:30,740 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,740 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 10:41:30,740 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point L18-1(line 18) the Hoare annotation is: (let ((.cse0 (= |lcp_#in~x| lcp_~x)) (.cse1 (= |lcp_#in~y| lcp_~y)) (.cse2 (= |lcp_#in~n| lcp_~n)) (.cse3 (= |lcp_#in~a.base| lcp_~a.base))) (or (and .cse0 .cse1 .cse2 .cse3 (or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))) (and |lcp_#t~short7| .cse0 .cse1 .cse2 .cse3))) [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point lcpFINAL(lines 16 22) the Hoare annotation is: (let ((.cse0 (= |lcp_#in~a.base| lcp_~a.base))) (or (and .cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))) (and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|))) .cse0 (or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))))) [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point L18-3(lines 18 20) the Hoare annotation is: (let ((.cse0 (= |lcp_#in~x| lcp_~x)) (.cse1 (= |lcp_#in~y| lcp_~y)) (.cse2 (= |lcp_#in~n| lcp_~n)) (.cse3 (= |lcp_#in~a.base| lcp_~a.base))) (or (and (or |lcp_#t~short7| (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))) .cse0 .cse1 .cse2 .cse3) (and .cse0 .cse1 .cse2 .cse3 (or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))))) [2022-04-28 10:41:30,740 INFO L895 garLoopResultBuilder]: At program point L18-5(lines 18 20) the Hoare annotation is: (and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (= |lcp_#in~a.base| lcp_~a.base)) [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point L18-6(lines 18 20) the Hoare annotation is: (let ((.cse0 (= |lcp_#in~a.base| lcp_~a.base))) (or (and .cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))) (and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) .cse0 (or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))))) [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point lcpEXIT(lines 16 22) the Hoare annotation is: (let ((.cse0 (= |lcp_#in~a.base| lcp_~a.base))) (or (and .cse0 (not (= ((as const (Array Int Int)) 0) (select |#memory_int| |lcp_#in~a.base|)))) (and (= |lcp_#in~x| lcp_~x) (= |lcp_#in~y| lcp_~y) (= |lcp_#in~n| lcp_~n) (or (<= |lcp_#in~n| (+ |lcp_#in~x| |lcp_#res|)) (<= |lcp_#in~n| (+ |lcp_#in~y| |lcp_#res|))) .cse0 (or (<= |lcp_#in~n| (+ |lcp_#in~x| lcp_~l~0)) (<= |lcp_#in~n| (+ |lcp_#in~y| lcp_~l~0)))))) [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point lcpENTRY(lines 16 22) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 14) the Hoare annotation is: true [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point L13(line 13) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0))) [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point L13-1(line 13) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point L13-3(lines 12 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0))) [2022-04-28 10:41:30,741 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 14) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| 0) (not (= __VERIFIER_assert_~cond 0))) [2022-04-28 10:41:30,742 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 13) the Hoare annotation is: (= |__VERIFIER_assert_#in~cond| 0) [2022-04-28 10:41:30,742 INFO L895 garLoopResultBuilder]: At program point #Ultimate.meminitENTRY(line -1) the Hoare annotation is: (= |#memory_int| |old(#memory_int)|) [2022-04-28 10:41:30,742 INFO L895 garLoopResultBuilder]: At program point #Ultimate.meminitEXIT(line -1) the Hoare annotation is: (= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|)) [2022-04-28 10:41:30,742 INFO L895 garLoopResultBuilder]: At program point #Ultimate.meminitFINAL(line -1) the Hoare annotation is: (= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|)) [2022-04-28 10:41:30,745 INFO L356 BasicCegarLoop]: Path program histogram: [2, 2, 2, 2, 2] [2022-04-28 10:41:30,746 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 10:41:30,749 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 10:41:30,753 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 10:41:30,786 INFO L163 areAnnotationChecker]: CFG has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 10:41:30,795 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalArgumentException: unknown symbol (const Int (Array Int Int)) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:262) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:171) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:171) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:171) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:171) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:135) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator.translateExpression(RCFGBacktranslator.java:394) at de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator.translateExpression(RCFGBacktranslator.java:1) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpression(ModelTranslationContainer.java:106) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ModelTranslationContainer.translateExpressionToString(ModelTranslationContainer.java:89) at de.uni_freiburg.informatik.ultimate.core.lib.results.ProcedureContractResult.getLongDescription(ProcedureContractResult.java:74) at de.uni_freiburg.informatik.ultimate.core.coreplugin.services.ResultService.reportResult(ResultService.java:86) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResultReporter.reportResult(CegarLoopResultReporter.java:140) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createProcedureContractResults(TraceAbstractionStarter.java:474) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:190) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-28 10:41:30,803 INFO L158 Benchmark]: Toolchain (without parser) took 12652.77ms. Allocated memory was 205.5MB in the beginning and 297.8MB in the end (delta: 92.3MB). Free memory was 157.4MB in the beginning and 198.7MB in the end (delta: -41.3MB). Peak memory consumption was 51.4MB. Max. memory is 8.0GB. [2022-04-28 10:41:30,804 INFO L158 Benchmark]: CDTParser took 0.21ms. Allocated memory is still 205.5MB. Free memory is still 174.2MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 10:41:30,804 INFO L158 Benchmark]: CACSL2BoogieTranslator took 247.00ms. Allocated memory is still 205.5MB. Free memory was 157.2MB in the beginning and 183.1MB in the end (delta: -25.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 10:41:30,804 INFO L158 Benchmark]: Boogie Preprocessor took 42.44ms. Allocated memory is still 205.5MB. Free memory was 183.1MB in the beginning and 181.1MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 10:41:30,804 INFO L158 Benchmark]: RCFGBuilder took 379.47ms. Allocated memory is still 205.5MB. Free memory was 181.1MB in the beginning and 166.4MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 8.0GB. [2022-04-28 10:41:30,804 INFO L158 Benchmark]: TraceAbstraction took 11976.18ms. Allocated memory was 205.5MB in the beginning and 297.8MB in the end (delta: 92.3MB). Free memory was 165.8MB in the beginning and 198.7MB in the end (delta: -32.9MB). Peak memory consumption was 60.2MB. Max. memory is 8.0GB. [2022-04-28 10:41:30,806 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.21ms. Allocated memory is still 205.5MB. Free memory is still 174.2MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 247.00ms. Allocated memory is still 205.5MB. Free memory was 157.2MB in the beginning and 183.1MB in the end (delta: -25.9MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 42.44ms. Allocated memory is still 205.5MB. Free memory was 183.1MB in the beginning and 181.1MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 379.47ms. Allocated memory is still 205.5MB. Free memory was 181.1MB in the beginning and 166.4MB in the end (delta: 14.7MB). Peak memory consumption was 14.7MB. Max. memory is 8.0GB. * TraceAbstraction took 11976.18ms. Allocated memory was 205.5MB in the beginning and 297.8MB in the end (delta: 92.3MB). Free memory was 165.8MB in the beginning and 198.7MB in the end (delta: -32.9MB). Peak memory consumption was 60.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 9 procedures, 52 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 11.9s, OverallIterations: 5, TraceHistogramMax: 3, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 5.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.9s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 322 SdHoareTripleChecker+Valid, 1.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 314 mSDsluCounter, 219 SdHoareTripleChecker+Invalid, 1.7s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 60 mSDsCounter, 179 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1335 IncrementalHoareTripleChecker+Invalid, 1514 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 179 mSolverCounterUnsat, 159 mSDtfsCounter, 1335 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 249 GetRequests, 170 SyntacticMatches, 1 SemanticMatches, 78 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 0.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=49occurred in iteration=0, InterpolantAutomatonStates: 54, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 5 MinimizatonAttempts, 2 StatesRemovedByMinimization, 1 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 49 LocationsWithAnnotation, 155 PreInvPairs, 223 NumberOfFragments, 849 HoareAnnotationTreeSize, 155 FomulaSimplifications, 0 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 49 FomulaSimplificationsInter, 842 FormulaSimplificationTreeSizeReductionInter, 0.7s 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: 18]: Loop Invariant Derived loop invariant: ((\old(x) == x && \old(y) == y) && \old(n) == n) && a == a - ExceptionOrErrorResult: IllegalArgumentException: unknown symbol (const Int (Array Int Int)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalArgumentException: unknown symbol (const Int (Array Int Int)): de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.boogie.Term2Expression.translate(Term2Expression.java:262) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-28 10:41:30,843 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...