java -Xmx6000000000 -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data ./data --generate-csv --csv-dir ../../../releaseScripts/default/UAutomizer-linux/csv -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf -i ../../../trunk/examples/svcomp/array-memsafety/cstrpbrk_unsafe_false-valid-deref.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-6b94a2f [2018-01-24 15:10:33,444 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-01-24 15:10:33,445 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-01-24 15:10:33,460 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-01-24 15:10:33,460 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-01-24 15:10:33,461 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-01-24 15:10:33,462 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-01-24 15:10:33,463 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-01-24 15:10:33,465 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-01-24 15:10:33,465 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-01-24 15:10:33,466 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-01-24 15:10:33,466 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-01-24 15:10:33,467 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-01-24 15:10:33,468 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-01-24 15:10:33,469 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-01-24 15:10:33,471 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-01-24 15:10:33,473 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-01-24 15:10:33,475 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-01-24 15:10:33,476 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-01-24 15:10:33,478 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-01-24 15:10:33,480 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-01-24 15:10:33,480 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-01-24 15:10:33,480 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-01-24 15:10:33,481 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-01-24 15:10:33,482 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-01-24 15:10:33,483 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-01-24 15:10:33,484 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-01-24 15:10:33,484 INFO L177 SettingsManager]: PEA to Boogie provides no preferences, ignoring... [2018-01-24 15:10:33,485 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-01-24 15:10:33,485 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-01-24 15:10:33,485 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-01-24 15:10:33,486 INFO L98 SettingsManager]: Beginning loading settings from /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf [2018-01-24 15:10:33,495 INFO L110 SettingsManager]: Loading preferences was successful [2018-01-24 15:10:33,495 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-01-24 15:10:33,496 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-01-24 15:10:33,496 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-01-24 15:10:33,497 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-01-24 15:10:33,497 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-01-24 15:10:33,497 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-01-24 15:10:33,498 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-01-24 15:10:33,498 INFO L133 SettingsManager]: * sizeof long=4 [2018-01-24 15:10:33,498 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-01-24 15:10:33,498 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-01-24 15:10:33,498 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * Bitprecise bitfields=true [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-01-24 15:10:33,499 INFO L133 SettingsManager]: * sizeof long double=12 [2018-01-24 15:10:33,500 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-01-24 15:10:33,500 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-01-24 15:10:33,500 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-01-24 15:10:33,500 INFO L133 SettingsManager]: * Add additional assume for each assert=false [2018-01-24 15:10:33,500 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-01-24 15:10:33,501 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-01-24 15:10:33,501 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-01-24 15:10:33,501 INFO L133 SettingsManager]: * Interpolant automaton=TWOTRACK [2018-01-24 15:10:33,501 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-01-24 15:10:33,502 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-01-24 15:10:33,503 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-01-24 15:10:33,503 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-01-24 15:10:33,537 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-01-24 15:10:33,546 INFO L266 ainManager$Toolchain]: [Toolchain 1]: Parser(s) successfully initialized [2018-01-24 15:10:33,562 INFO L222 ainManager$Toolchain]: [Toolchain 1]: Toolchain data selected. [2018-01-24 15:10:33,563 INFO L271 PluginConnector]: Initializing CDTParser... [2018-01-24 15:10:33,563 INFO L276 PluginConnector]: CDTParser initialized [2018-01-24 15:10:33,564 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-memsafety/cstrpbrk_unsafe_false-valid-deref.i [2018-01-24 15:10:33,733 INFO L304 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-01-24 15:10:33,740 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-01-24 15:10:33,741 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-01-24 15:10:33,741 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-01-24 15:10:33,746 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-01-24 15:10:33,747 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,750 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6a926555 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33, skipping insertion in model container [2018-01-24 15:10:33,750 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,769 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 15:10:33,810 INFO L153 Dispatcher]: Using SV-COMP mode [2018-01-24 15:10:33,934 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 15:10:33,958 INFO L450 PostProcessor]: Settings: Checked method=main [2018-01-24 15:10:33,967 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33 WrapperNode [2018-01-24 15:10:33,967 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-01-24 15:10:33,968 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-01-24 15:10:33,968 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-01-24 15:10:33,968 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-01-24 15:10:33,985 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,985 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,994 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,994 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:33,999 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:34,002 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:34,004 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... [2018-01-24 15:10:34,006 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-01-24 15:10:34,007 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-01-24 15:10:34,007 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-01-24 15:10:34,007 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-01-24 15:10:34,008 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (1/1) ... No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-01-24 15:10:34,058 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-01-24 15:10:34,058 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-01-24 15:10:34,058 INFO L136 BoogieDeclarations]: Found implementation of procedure build_nondet_String [2018-01-24 15:10:34,059 INFO L136 BoogieDeclarations]: Found implementation of procedure cstrpbrk [2018-01-24 15:10:34,059 INFO L136 BoogieDeclarations]: Found implementation of procedure main [2018-01-24 15:10:34,059 INFO L128 BoogieDeclarations]: Found specification of procedure write~int [2018-01-24 15:10:34,059 INFO L128 BoogieDeclarations]: Found specification of procedure read~int [2018-01-24 15:10:34,059 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.free [2018-01-24 15:10:34,059 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure malloc [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure free [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure build_nondet_String [2018-01-24 15:10:34,060 INFO L128 BoogieDeclarations]: Found specification of procedure cstrpbrk [2018-01-24 15:10:34,061 INFO L128 BoogieDeclarations]: Found specification of procedure main [2018-01-24 15:10:34,061 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-01-24 15:10:34,061 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-01-24 15:10:34,323 INFO L257 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-01-24 15:10:34,324 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.01 03:10:34 BoogieIcfgContainer [2018-01-24 15:10:34,324 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-01-24 15:10:34,325 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-01-24 15:10:34,325 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-01-24 15:10:34,326 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-01-24 15:10:34,327 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 24.01 03:10:33" (1/3) ... [2018-01-24 15:10:34,327 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@461e103c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 24.01 03:10:34, skipping insertion in model container [2018-01-24 15:10:34,328 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 24.01 03:10:33" (2/3) ... [2018-01-24 15:10:34,328 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@461e103c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 24.01 03:10:34, skipping insertion in model container [2018-01-24 15:10:34,328 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 24.01 03:10:34" (3/3) ... [2018-01-24 15:10:34,329 INFO L105 eAbstractionObserver]: Analyzing ICFG cstrpbrk_unsafe_false-valid-deref.i [2018-01-24 15:10:34,336 INFO L130 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-01-24 15:10:34,342 INFO L142 ceAbstractionStarter]: Appying trace abstraction to program that has 19 error locations. [2018-01-24 15:10:34,393 INFO L322 AbstractCegarLoop]: Interprodecural is true [2018-01-24 15:10:34,393 INFO L323 AbstractCegarLoop]: Hoare is true [2018-01-24 15:10:34,393 INFO L324 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-01-24 15:10:34,393 INFO L325 AbstractCegarLoop]: Backedges is TWOTRACK [2018-01-24 15:10:34,394 INFO L326 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-01-24 15:10:34,394 INFO L327 AbstractCegarLoop]: Difference is false [2018-01-24 15:10:34,394 INFO L328 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-01-24 15:10:34,394 INFO L333 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-01-24 15:10:34,395 INFO L87 2NestedWordAutomaton]: Mode: main mode - execution starts in main procedure [2018-01-24 15:10:34,416 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states. [2018-01-24 15:10:34,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-01-24 15:10:34,421 INFO L314 BasicCegarLoop]: Found error trace [2018-01-24 15:10:34,422 INFO L322 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-01-24 15:10:34,422 INFO L371 AbstractCegarLoop]: === Iteration 1 === [build_nondet_StringErr0RequiresViolation, build_nondet_StringErr1RequiresViolation, cstrpbrkErr3RequiresViolation, cstrpbrkErr1RequiresViolation, cstrpbrkErr9RequiresViolation, cstrpbrkErr7RequiresViolation, cstrpbrkErr2RequiresViolation, cstrpbrkErr8RequiresViolation, cstrpbrkErr4RequiresViolation, cstrpbrkErr0RequiresViolation, cstrpbrkErr6RequiresViolation, cstrpbrkErr5RequiresViolation, mainErr5RequiresViolation, mainErr3RequiresViolation, mainErr1RequiresViolation, mainErr2RequiresViolation, mainErr4RequiresViolation, mainErr6EnsuresViolation, mainErr0RequiresViolation]=== [2018-01-24 15:10:34,427 INFO L82 PathProgramCache]: Analyzing trace with hash -1167838739, now seen corresponding path program 1 times [2018-01-24 15:10:34,429 INFO L67 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-01-24 15:10:34,469 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:34,470 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:10:34,470 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:34,470 INFO L280 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-01-24 15:10:34,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:10:34,522 WARN L137 erpolLogProxyWrapper]: Using partial proofs (cut at CNF-level). Set option :produce-proofs to true to get complete proofs. [2018-01-24 15:10:34,599 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:10:34,601 INFO L320 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-01-24 15:10:34,601 INFO L335 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-01-24 15:10:34,601 INFO L252 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-01-24 15:10:34,603 INFO L409 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-01-24 15:10:34,614 INFO L132 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-01-24 15:10:34,615 INFO L133 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-01-24 15:10:34,617 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 4 states. [2018-01-24 15:10:34,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-01-24 15:10:34,836 INFO L93 Difference]: Finished difference Result 109 states and 121 transitions. [2018-01-24 15:10:34,837 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-01-24 15:10:34,838 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 11 [2018-01-24 15:10:34,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-01-24 15:10:34,847 INFO L225 Difference]: With dead ends: 109 [2018-01-24 15:10:34,847 INFO L226 Difference]: Without dead ends: 61 [2018-01-24 15:10:34,850 INFO L525 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-01-24 15:10:34,865 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-01-24 15:10:34,883 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2018-01-24 15:10:34,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-01-24 15:10:34,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2018-01-24 15:10:34,887 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 11 [2018-01-24 15:10:34,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-01-24 15:10:34,888 INFO L432 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2018-01-24 15:10:34,888 INFO L433 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-01-24 15:10:34,888 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2018-01-24 15:10:34,888 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-01-24 15:10:34,888 INFO L314 BasicCegarLoop]: Found error trace [2018-01-24 15:10:34,888 INFO L322 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-01-24 15:10:34,889 INFO L371 AbstractCegarLoop]: === Iteration 2 === [build_nondet_StringErr0RequiresViolation, build_nondet_StringErr1RequiresViolation, cstrpbrkErr3RequiresViolation, cstrpbrkErr1RequiresViolation, cstrpbrkErr9RequiresViolation, cstrpbrkErr7RequiresViolation, cstrpbrkErr2RequiresViolation, cstrpbrkErr8RequiresViolation, cstrpbrkErr4RequiresViolation, cstrpbrkErr0RequiresViolation, cstrpbrkErr6RequiresViolation, cstrpbrkErr5RequiresViolation, mainErr5RequiresViolation, mainErr3RequiresViolation, mainErr1RequiresViolation, mainErr2RequiresViolation, mainErr4RequiresViolation, mainErr6EnsuresViolation, mainErr0RequiresViolation]=== [2018-01-24 15:10:34,889 INFO L82 PathProgramCache]: Analyzing trace with hash -1167838738, now seen corresponding path program 1 times [2018-01-24 15:10:34,889 INFO L67 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-01-24 15:10:34,890 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:34,890 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:10:34,890 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:34,890 INFO L280 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-01-24 15:10:34,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:10:34,908 WARN L137 erpolLogProxyWrapper]: Using partial proofs (cut at CNF-level). Set option :produce-proofs to true to get complete proofs. [2018-01-24 15:10:35,049 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:10:35,052 INFO L320 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-01-24 15:10:35,052 INFO L335 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-01-24 15:10:35,052 INFO L252 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-01-24 15:10:35,053 INFO L409 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-01-24 15:10:35,054 INFO L132 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-01-24 15:10:35,054 INFO L133 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2018-01-24 15:10:35,054 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand 5 states. [2018-01-24 15:10:35,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-01-24 15:10:35,091 INFO L93 Difference]: Finished difference Result 61 states and 66 transitions. [2018-01-24 15:10:35,092 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-01-24 15:10:35,092 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 11 [2018-01-24 15:10:35,092 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-01-24 15:10:35,093 INFO L225 Difference]: With dead ends: 61 [2018-01-24 15:10:35,093 INFO L226 Difference]: Without dead ends: 60 [2018-01-24 15:10:35,094 INFO L525 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2018-01-24 15:10:35,095 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-01-24 15:10:35,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2018-01-24 15:10:35,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-01-24 15:10:35,102 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 65 transitions. [2018-01-24 15:10:35,102 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 65 transitions. Word has length 11 [2018-01-24 15:10:35,102 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-01-24 15:10:35,102 INFO L432 AbstractCegarLoop]: Abstraction has 60 states and 65 transitions. [2018-01-24 15:10:35,103 INFO L433 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-01-24 15:10:35,103 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2018-01-24 15:10:35,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-01-24 15:10:35,104 INFO L314 BasicCegarLoop]: Found error trace [2018-01-24 15:10:35,104 INFO L322 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-01-24 15:10:35,104 INFO L371 AbstractCegarLoop]: === Iteration 3 === [build_nondet_StringErr0RequiresViolation, build_nondet_StringErr1RequiresViolation, cstrpbrkErr3RequiresViolation, cstrpbrkErr1RequiresViolation, cstrpbrkErr9RequiresViolation, cstrpbrkErr7RequiresViolation, cstrpbrkErr2RequiresViolation, cstrpbrkErr8RequiresViolation, cstrpbrkErr4RequiresViolation, cstrpbrkErr0RequiresViolation, cstrpbrkErr6RequiresViolation, cstrpbrkErr5RequiresViolation, mainErr5RequiresViolation, mainErr3RequiresViolation, mainErr1RequiresViolation, mainErr2RequiresViolation, mainErr4RequiresViolation, mainErr6EnsuresViolation, mainErr0RequiresViolation]=== [2018-01-24 15:10:35,104 INFO L82 PathProgramCache]: Analyzing trace with hash -1764023599, now seen corresponding path program 1 times [2018-01-24 15:10:35,104 INFO L67 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-01-24 15:10:35,106 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:35,106 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:10:35,106 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:10:35,106 INFO L280 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-01-24 15:10:35,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:10:35,133 WARN L137 erpolLogProxyWrapper]: Using partial proofs (cut at CNF-level). Set option :produce-proofs to true to get complete proofs. [2018-01-24 15:10:35,392 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:10:35,392 INFO L308 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-01-24 15:10:35,392 INFO L187 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-01-24 15:10:35,393 INFO L199 CegarAbsIntRunner]: Running AI on error trace of length 30 with the following transitions: [2018-01-24 15:10:35,394 INFO L201 CegarAbsIntRunner]: [0], [3], [7], [8], [9], [12], [13], [15], [17], [32], [33], [34], [38], [40], [95], [96], [97], [98], [99], [101], [102], [103] [2018-01-24 15:10:35,436 INFO L147 AbstractInterpreter]: Using domain VPDomain [2018-01-24 15:10:35,436 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=2) [2018-01-24 15:10:36,989 INFO L262 AbstractInterpreter]: Error location(s) were unreachable [2018-01-24 15:10:36,991 INFO L268 AbstractInterpreter]: Visited 22 different actions 29 times. Never merged. Never widened. Never found a fixpoint. Largest state had 23 variables. [2018-01-24 15:10:37,007 INFO L395 sIntCurrentIteration]: Generating AbsInt predicates [2018-01-24 15:10:38,062 INFO L232 lantSequenceWeakener]: Weakened 18 states. On average, predicates are now at 70.71% of their original sizes. [2018-01-24 15:10:38,062 INFO L408 sIntCurrentIteration]: Unifying AI predicates [2018-01-24 15:10:38,605 WARN L1007 $PredicateComparison]: unable to prove that (let ((.cse52 (select |c_old(#valid)| 0)) (.cse0 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse53 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse63 (select (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base) (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (not (= |c_build_nondet_String_#t~malloc1.base| 0)) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse0 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (forall ((v_weq0_1 Int)) (let ((.cse1 (select |c_#length| v_weq0_1)) (.cse2 (select |c_old(#valid)| v_weq0_1))) (or (not (= v_weq0_1 |c_build_nondet_String_#t~malloc1.base|)) (= .cse1 .cse2) (let ((.cse8 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse3 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse5 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse6 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse7 (select .cse8 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse4 (select |c_old(#valid)| 0))) (and (= .cse1 1) (= v_weq0_1 |c_build_nondet_String_#res.base|) (= .cse3 (select |c_#valid| v_weq0_1)) (= c_build_nondet_String_~nondetString~4.offset .cse4) (= c_build_nondet_String_~length~4 .cse1) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= (select |c_old(#memory_int)| v_weq0_1) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse5 .cse3) (= 1 .cse5) (= .cse2 .cse6) (= .cse6 .cse7) (= .cse7 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#memory_int| v_weq0_1) .cse8) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse4 .cse2) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= c_build_nondet_String_~nondetString~4.base v_weq0_1))))))) (= |c_#NULL.base| |c_#NULL.offset|) (forall ((v_weq0_1 Int) (v_weq1_1 Int)) (let ((.cse19 (select |c_#memory_int| v_weq0_1)) (.cse13 (select |c_old(#memory_int)| v_weq0_1))) (or (let ((.cse20 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base)) (.cse21 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (let ((.cse9 (select |c_#length| v_weq0_1)) (.cse10 (select |c_old(#valid)| v_weq0_1)) (.cse11 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse16 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse12 (select .cse20 .cse21)) (.cse15 (select .cse20 v_weq1_1)) (.cse17 (select .cse19 .cse21)) (.cse14 (select |c_old(#valid)| 0)) (.cse18 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse9 1) (= c_build_nondet_String_~nondetString~4.offset .cse10) (= .cse11 (select |c_#valid| v_weq0_1)) (= c_build_nondet_String_~length~4 .cse9) (= .cse10 .cse12) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq1_1 1)) (= v_weq0_1 c_build_nondet_String_~nondetString~4.base) (= .cse13 (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= 0 .cse14) (= .cse15 |c_#NULL.base|) (= .cse16 .cse11) (= 1 .cse16) (= |c_#NULL.base| .cse17) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse18 |c_#NULL.offset|) (= .cse12 .cse15) (= .cse17 0) (= .cse19 .cse20) (not (= |c_build_nondet_String_#res.base| 0)) (= |c_build_nondet_String_#t~malloc1.base| v_weq0_1) (= .cse14 .cse18) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4)))) (= (select .cse19 v_weq1_1) (select .cse13 v_weq1_1))))) (forall ((v_weq0_1 Int)) (let ((.cse22 (select |c_old(#valid)| v_weq0_1))) (or (not (= v_weq0_1 |c_build_nondet_String_#t~malloc1.base|)) (= (select |c_old(#length)| v_weq0_1) .cse22) (let ((.cse29 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse23 (select |c_#length| v_weq0_1)) (.cse24 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse26 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse27 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse28 (select .cse29 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse25 (select |c_old(#valid)| 0))) (and (= .cse23 1) (= v_weq0_1 |c_build_nondet_String_#res.base|) (= .cse24 (select |c_#valid| v_weq0_1)) (= c_build_nondet_String_~nondetString~4.offset .cse25) (= c_build_nondet_String_~length~4 .cse23) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= (select |c_old(#memory_int)| v_weq0_1) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse26 .cse24) (= 1 .cse26) (= .cse22 .cse27) (= .cse27 .cse28) (= .cse28 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#memory_int| v_weq0_1) .cse29) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse25 .cse22) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= c_build_nondet_String_~nondetString~4.base v_weq0_1))))))) (forall ((v_weq0_1 Int)) (let ((.cse31 (select |c_#valid| v_weq0_1)) (.cse30 (select |c_old(#valid)| v_weq0_1))) (or (= .cse30 .cse31) (let ((.cse38 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse32 (select |c_#length| v_weq0_1)) (.cse33 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse35 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse36 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse37 (select .cse38 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse34 (select |c_old(#valid)| 0))) (and (= .cse32 1) (= v_weq0_1 |c_build_nondet_String_#res.base|) (= .cse33 .cse31) (= c_build_nondet_String_~nondetString~4.offset .cse34) (= c_build_nondet_String_~length~4 .cse32) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= (select |c_old(#memory_int)| v_weq0_1) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse35 .cse33) (= 1 .cse35) (= .cse30 .cse36) (= .cse36 .cse37) (= .cse37 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#memory_int| v_weq0_1) .cse38) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse34 .cse30) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= c_build_nondet_String_~nondetString~4.base v_weq0_1))))))) (forall ((v_weq0_1 Int)) (let ((.cse43 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse42 (select .cse43 v_weq0_1))) (or (let ((.cse40 (select .cse43 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse41 (select |c_old(#valid)| 0)) (.cse39 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse39 .cse40) (= .cse40 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (not (= |c_build_nondet_String_#t~malloc1.base| 0)) (= |c_build_nondet_String_#t~malloc1.offset| 0) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq0_1 1)) (= c_build_nondet_String_~nondetString~4.offset .cse41) (= 0 .cse42) (= .cse41 .cse39) (= .cse42 |c_build_nondet_String_#res.offset|))) (= (select (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base) v_weq0_1) .cse42))))) (forall ((v_weq0_1 Int)) (let ((.cse44 (select |c_#length| v_weq0_1))) (or (= .cse44 (select |c_old(#length)| v_weq0_1)) (let ((.cse51 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse45 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse47 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse49 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse50 (select .cse51 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse46 (select |c_old(#valid)| 0)) (.cse48 (select |c_old(#valid)| v_weq0_1))) (and (= .cse44 1) (= v_weq0_1 |c_build_nondet_String_#res.base|) (= .cse45 (select |c_#valid| v_weq0_1)) (= c_build_nondet_String_~nondetString~4.offset .cse46) (= c_build_nondet_String_~length~4 .cse44) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= (select |c_old(#memory_int)| v_weq0_1) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse47 .cse45) (= 1 .cse47) (= .cse48 .cse49) (= .cse49 .cse50) (= .cse50 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#memory_int| v_weq0_1) .cse51) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse46 .cse48) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= c_build_nondet_String_~nondetString~4.base v_weq0_1))))))) (= .cse52 .cse53) (forall ((v_weq0_1 Int)) (or (not (= v_weq0_1 |c_build_nondet_String_#t~malloc1.base|)) (= (select |c_#length| v_weq0_1) (select |c_#valid| v_weq0_1)))) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (not (= |c_#length| |c_old(#valid)|)) (forall ((v_weq0_1 Int)) (let ((.cse54 (select |c_#valid| v_weq0_1))) (or (= (select |c_old(#length)| v_weq0_1) .cse54) (not (= v_weq0_1 |c_build_nondet_String_#t~malloc1.base|)) (let ((.cse62 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse55 (select |c_#length| v_weq0_1)) (.cse56 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse58 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse60 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse61 (select .cse62 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse57 (select |c_old(#valid)| 0)) (.cse59 (select |c_old(#valid)| v_weq0_1))) (and (= .cse55 1) (= v_weq0_1 |c_build_nondet_String_#res.base|) (= .cse56 .cse54) (= c_build_nondet_String_~nondetString~4.offset .cse57) (= c_build_nondet_String_~length~4 .cse55) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= (select |c_old(#memory_int)| v_weq0_1) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse58 .cse56) (= 1 .cse58) (= .cse59 .cse60) (= .cse60 .cse61) (= .cse61 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#memory_int| v_weq0_1) .cse62) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse57 .cse59) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= c_build_nondet_String_~nondetString~4.base v_weq0_1))))))) (= c_build_nondet_String_~nondetString~4.offset .cse52) (= 1 .cse0) (= .cse53 .cse63) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse63 |c_#NULL.base|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= c_build_nondet_String_~length~4 1) (not (= |c_#valid| |c_old(#valid)|)))) is different from false [2018-01-24 15:10:38,785 INFO L419 sIntCurrentIteration]: Finished generation of AbsInt predicates [2018-01-24 15:10:38,786 INFO L320 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-01-24 15:10:38,786 INFO L335 seRefinementStrategy]: Number of different interpolants: perfect sequences [19] imperfect sequences [11] total 29 [2018-01-24 15:10:38,786 INFO L252 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-01-24 15:10:38,787 INFO L409 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-01-24 15:10:38,787 INFO L132 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-01-24 15:10:38,787 INFO L133 InterpolantAutomaton]: CoverageRelationStatistics Valid=69, Invalid=275, Unknown=2, NotChecked=34, Total=380 [2018-01-24 15:10:38,788 INFO L87 Difference]: Start difference. First operand 60 states and 65 transitions. Second operand 20 states. [2018-01-24 15:11:06,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-01-24 15:11:06,339 INFO L93 Difference]: Finished difference Result 117 states and 131 transitions. [2018-01-24 15:11:06,340 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2018-01-24 15:11:06,340 INFO L78 Accepts]: Start accepts. Automaton has 20 states. Word has length 29 [2018-01-24 15:11:06,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-01-24 15:11:06,343 INFO L225 Difference]: With dead ends: 117 [2018-01-24 15:11:06,343 INFO L226 Difference]: Without dead ends: 113 [2018-01-24 15:11:06,344 INFO L525 BasicCegarLoop]: 2 DeclaredPredicates, 35 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=120, Invalid=528, Unknown=6, NotChecked=48, Total=702 [2018-01-24 15:11:06,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2018-01-24 15:11:06,358 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 101. [2018-01-24 15:11:06,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-01-24 15:11:06,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 124 transitions. [2018-01-24 15:11:06,360 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 124 transitions. Word has length 29 [2018-01-24 15:11:06,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-01-24 15:11:06,361 INFO L432 AbstractCegarLoop]: Abstraction has 101 states and 124 transitions. [2018-01-24 15:11:06,361 INFO L433 AbstractCegarLoop]: Interpolant automaton has 20 states. [2018-01-24 15:11:06,361 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 124 transitions. [2018-01-24 15:11:06,362 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-01-24 15:11:06,363 INFO L314 BasicCegarLoop]: Found error trace [2018-01-24 15:11:06,363 INFO L322 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-01-24 15:11:06,363 INFO L371 AbstractCegarLoop]: === Iteration 4 === [build_nondet_StringErr0RequiresViolation, build_nondet_StringErr1RequiresViolation, cstrpbrkErr3RequiresViolation, cstrpbrkErr1RequiresViolation, cstrpbrkErr9RequiresViolation, cstrpbrkErr7RequiresViolation, cstrpbrkErr2RequiresViolation, cstrpbrkErr8RequiresViolation, cstrpbrkErr4RequiresViolation, cstrpbrkErr0RequiresViolation, cstrpbrkErr6RequiresViolation, cstrpbrkErr5RequiresViolation, mainErr5RequiresViolation, mainErr3RequiresViolation, mainErr1RequiresViolation, mainErr2RequiresViolation, mainErr4RequiresViolation, mainErr6EnsuresViolation, mainErr0RequiresViolation]=== [2018-01-24 15:11:06,363 INFO L82 PathProgramCache]: Analyzing trace with hash -1764023598, now seen corresponding path program 1 times [2018-01-24 15:11:06,363 INFO L67 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-01-24 15:11:06,365 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:11:06,365 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:11:06,365 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:11:06,366 INFO L280 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-01-24 15:11:06,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:11:06,384 WARN L137 erpolLogProxyWrapper]: Using partial proofs (cut at CNF-level). Set option :produce-proofs to true to get complete proofs. [2018-01-24 15:11:06,600 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:06,601 INFO L308 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-01-24 15:11:06,601 INFO L187 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-01-24 15:11:06,601 INFO L199 CegarAbsIntRunner]: Running AI on error trace of length 30 with the following transitions: [2018-01-24 15:11:06,601 INFO L201 CegarAbsIntRunner]: [0], [3], [7], [8], [9], [12], [13], [15], [17], [32], [33], [34], [38], [41], [95], [96], [97], [98], [99], [101], [102], [103] [2018-01-24 15:11:06,602 INFO L147 AbstractInterpreter]: Using domain VPDomain [2018-01-24 15:11:06,603 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=2) [2018-01-24 15:11:07,128 INFO L259 AbstractInterpreter]: Some error location(s) were reachable [2018-01-24 15:11:07,128 INFO L268 AbstractInterpreter]: Visited 22 different actions 29 times. Never merged. Never widened. Never found a fixpoint. Largest state had 23 variables. [2018-01-24 15:11:07,133 INFO L434 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-01-24 15:11:07,134 INFO L308 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-01-24 15:11:07,134 INFO L187 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-01-24 15:11:07,140 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:11:07,141 INFO L280 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-01-24 15:11:07,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:11:07,184 INFO L270 TraceCheckSpWp]: Computing forward predicates... [2018-01-24 15:11:07,229 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-01-24 15:11:07,231 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:07,249 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:07,250 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:13, output treesize:12 [2018-01-24 15:11:07,528 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-01-24 15:11:07,528 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:07,559 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-01-24 15:11:07,559 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:18, output treesize:17 [2018-01-24 15:11:07,664 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:07,664 INFO L314 TraceCheckSpWp]: Computing backward predicates... [2018-01-24 15:11:08,244 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 15 [2018-01-24 15:11:08,260 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-01-24 15:11:08,261 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,277 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,283 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,283 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:11, output treesize:3 [2018-01-24 15:11:08,294 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:08,323 INFO L308 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-01-24 15:11:08,324 INFO L187 anRefinementStrategy]: Switched to InterpolantGenerator mode CVC4_IG No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/cvc4 Starting monitored process 3 with cvc4 --tear-down-incremental --print-success --lang smt --rewrite-divk --tlimit-per=12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with cvc4 --tear-down-incremental --print-success --lang smt --rewrite-divk --tlimit-per=12000 [2018-01-24 15:11:08,328 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:11:08,328 INFO L280 anRefinementStrategy]: Using traceCheck mode CVC4_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-01-24 15:11:08,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:11:08,366 INFO L270 TraceCheckSpWp]: Computing forward predicates... [2018-01-24 15:11:08,370 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-01-24 15:11:08,370 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,375 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2018-01-24 15:11:08,376 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,379 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,379 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:16, output treesize:14 [2018-01-24 15:11:08,597 INFO L700 Elim1Store]: detected not equals via solver [2018-01-24 15:11:08,598 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 15 [2018-01-24 15:11:08,598 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,608 INFO L700 Elim1Store]: detected not equals via solver [2018-01-24 15:11:08,609 INFO L700 Elim1Store]: detected not equals via solver [2018-01-24 15:11:08,609 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 4 [2018-01-24 15:11:08,609 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,615 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:08,615 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:25, output treesize:9 [2018-01-24 15:11:08,633 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:08,633 INFO L314 TraceCheckSpWp]: Computing backward predicates... [2018-01-24 15:11:08,714 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 15 [2018-01-24 15:11:08,840 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 27 [2018-01-24 15:11:09,006 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 27 [2018-01-24 15:11:09,156 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 27 [2018-01-24 15:11:09,295 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 27 [2018-01-24 15:11:09,316 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 64 [2018-01-24 15:11:09,563 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 64 [2018-01-24 15:11:09,652 WARN L130 XnfTransformerHelper]: expecting exponential blowup for input size 64 [2018-01-24 15:11:10,148 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 3 [2018-01-24 15:11:10,148 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:10,151 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 15 [2018-01-24 15:11:10,160 INFO L477 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 3 [2018-01-24 15:11:10,161 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:10,161 WARN L307 Elim1Store]: Array PQE input equivalent to true [2018-01-24 15:11:10,161 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-01-24 15:11:10,164 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:10,171 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-01-24 15:11:10,171 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 5 variables, input treesize:21, output treesize:3 [2018-01-24 15:11:10,180 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:10,182 INFO L320 seRefinementStrategy]: Constructing automaton from 0 perfect and 5 imperfect interpolant sequences. [2018-01-24 15:11:10,182 INFO L335 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 14, 12, 13] total 53 [2018-01-24 15:11:10,182 INFO L247 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-01-24 15:11:10,183 INFO L409 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-01-24 15:11:10,183 INFO L132 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-01-24 15:11:10,184 INFO L133 InterpolantAutomaton]: CoverageRelationStatistics Valid=175, Invalid=2687, Unknown=0, NotChecked=0, Total=2862 [2018-01-24 15:11:10,184 INFO L87 Difference]: Start difference. First operand 101 states and 124 transitions. Second operand 28 states. [2018-01-24 15:11:11,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-01-24 15:11:11,685 INFO L93 Difference]: Finished difference Result 209 states and 257 transitions. [2018-01-24 15:11:11,686 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 24 states. [2018-01-24 15:11:11,686 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 29 [2018-01-24 15:11:11,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-01-24 15:11:11,688 INFO L225 Difference]: With dead ends: 209 [2018-01-24 15:11:11,688 INFO L226 Difference]: Without dead ends: 206 [2018-01-24 15:11:11,690 INFO L525 BasicCegarLoop]: 0 DeclaredPredicates, 146 GetRequests, 71 SyntacticMatches, 5 SemanticMatches, 70 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1173 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=406, Invalid=4706, Unknown=0, NotChecked=0, Total=5112 [2018-01-24 15:11:11,691 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2018-01-24 15:11:11,705 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 106. [2018-01-24 15:11:11,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2018-01-24 15:11:11,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 130 transitions. [2018-01-24 15:11:11,707 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 130 transitions. Word has length 29 [2018-01-24 15:11:11,707 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-01-24 15:11:11,707 INFO L432 AbstractCegarLoop]: Abstraction has 106 states and 130 transitions. [2018-01-24 15:11:11,708 INFO L433 AbstractCegarLoop]: Interpolant automaton has 28 states. [2018-01-24 15:11:11,708 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 130 transitions. [2018-01-24 15:11:11,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-01-24 15:11:11,709 INFO L314 BasicCegarLoop]: Found error trace [2018-01-24 15:11:11,709 INFO L322 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-01-24 15:11:11,709 INFO L371 AbstractCegarLoop]: === Iteration 5 === [build_nondet_StringErr0RequiresViolation, build_nondet_StringErr1RequiresViolation, cstrpbrkErr3RequiresViolation, cstrpbrkErr1RequiresViolation, cstrpbrkErr9RequiresViolation, cstrpbrkErr7RequiresViolation, cstrpbrkErr2RequiresViolation, cstrpbrkErr8RequiresViolation, cstrpbrkErr4RequiresViolation, cstrpbrkErr0RequiresViolation, cstrpbrkErr6RequiresViolation, cstrpbrkErr5RequiresViolation, mainErr5RequiresViolation, mainErr3RequiresViolation, mainErr1RequiresViolation, mainErr2RequiresViolation, mainErr4RequiresViolation, mainErr6EnsuresViolation, mainErr0RequiresViolation]=== [2018-01-24 15:11:11,709 INFO L82 PathProgramCache]: Analyzing trace with hash -1505858161, now seen corresponding path program 1 times [2018-01-24 15:11:11,710 INFO L67 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-01-24 15:11:11,710 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:11:11,711 INFO L101 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-01-24 15:11:11,711 INFO L117 rtionOrderModulation]: Craig nested/tree interpolation forces the following order [2018-01-24 15:11:11,711 INFO L280 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-01-24 15:11:11,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-01-24 15:11:11,726 WARN L137 erpolLogProxyWrapper]: Using partial proofs (cut at CNF-level). Set option :produce-proofs to true to get complete proofs. [2018-01-24 15:11:11,828 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 5 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-01-24 15:11:11,828 INFO L308 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-01-24 15:11:11,828 INFO L187 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-01-24 15:11:11,829 INFO L199 CegarAbsIntRunner]: Running AI on error trace of length 30 with the following transitions: [2018-01-24 15:11:11,829 INFO L201 CegarAbsIntRunner]: [0], [3], [5], [7], [8], [9], [12], [13], [15], [17], [32], [33], [34], [38], [40], [95], [96], [97], [98], [99], [101], [102], [103] [2018-01-24 15:11:11,830 INFO L147 AbstractInterpreter]: Using domain VPDomain [2018-01-24 15:11:11,830 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=2) [2018-01-24 15:11:17,287 INFO L262 AbstractInterpreter]: Error location(s) were unreachable [2018-01-24 15:11:17,287 INFO L268 AbstractInterpreter]: Visited 23 different actions 75 times. Merged at 10 different actions 26 times. Never widened. Never found a fixpoint. Largest state had 23 variables. [2018-01-24 15:11:17,301 INFO L395 sIntCurrentIteration]: Generating AbsInt predicates [2018-01-24 15:11:18,304 INFO L232 lantSequenceWeakener]: Weakened 18 states. On average, predicates are now at 69.1% of their original sizes. [2018-01-24 15:11:18,305 INFO L408 sIntCurrentIteration]: Unifying AI predicates [2018-01-24 15:11:18,617 WARN L1007 $PredicateComparison]: unable to prove that (let ((.cse97 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse98 (select (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base) (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse23 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse96 (select |c_old(#valid)| 0))) (let ((.cse17 (not (= |c_build_nondet_String_#t~malloc1.base| 0))) (.cse18 (= c_build_nondet_String_~nondetString~4.offset .cse96)) (.cse19 (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base)) (.cse20 (= 0 |c_build_nondet_String_#t~malloc1.offset|)) (.cse24 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse21 (forall ((v_weq0_3 Int)) (let ((.cse103 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse101 (select .cse103 v_weq0_3))) (or (let ((.cse100 (select .cse103 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse102 (select |c_old(#valid)| 0)) (.cse99 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse99 .cse100) (= .cse100 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (not (= |c_build_nondet_String_#t~malloc1.base| 0)) (= |c_build_nondet_String_#t~malloc1.offset| 0) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq0_3 1)) (= .cse101 .cse102) (= .cse102 .cse99) (= 0 c_build_nondet_String_~nondetString~4.offset) (= c_build_nondet_String_~nondetString~4.offset .cse101))) (= (select (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base) v_weq0_3) .cse101)))))) (.cse22 (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset)) (.cse25 (= 1 .cse23)) (.cse35 (= .cse97 .cse98)) (.cse36 (= .cse98 |c_#NULL.base|)) (.cse37 (= |c_#NULL.base| |c_#NULL.offset|)) (.cse61 (select |c_#valid| c_build_nondet_String_~nondetString~4.base)) (.cse60 (= .cse96 .cse97)) (.cse70 (not (= |c_#valid| |c_old(#valid)|)))) (or (and (not (= |c_#length| |c_old(#valid)|)) (forall ((v_weq0_3 Int)) (let ((.cse1 (select |c_#length| v_weq0_3))) (or (let ((.cse7 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse0 (select |c_old(#valid)| 0)) (.cse2 (select |c_old(#valid)| v_weq0_3)) (.cse4 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse3 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse5 (select .cse7 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse6 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse0) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse1 1) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse2 .cse3) (= .cse0 .cse2) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse4 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse1) (= 1 .cse4) (= .cse3 .cse5) (= .cse5 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse6) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse6 c_build_nondet_String_~length~4) (= (select |c_#memory_int| v_weq0_3) .cse7) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= (select |c_old(#length)| v_weq0_3) .cse1)))) (forall ((v_weq0_3 Int)) (let ((.cse8 (select |c_old(#valid)| v_weq0_3)) (.cse16 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (= (select |c_old(#length)| v_weq0_3) .cse8) (let ((.cse15 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse9 (select |c_old(#valid)| 0)) (.cse10 (select |c_#length| v_weq0_3)) (.cse12 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse11 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse13 (select .cse15 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse14 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse9) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse10 1) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse8 .cse11) (= .cse9 .cse8) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse12 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse10) (= 1 .cse12) (= .cse11 .cse13) (= .cse13 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse14) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse14 c_build_nondet_String_~length~4) (= (select |c_#memory_int| v_weq0_3) .cse15) .cse16))) (not .cse16)))) .cse17 .cse18 .cse19 .cse20 .cse21 .cse22 (= .cse23 .cse24) .cse25 (forall ((v_weq0_3 Int)) (let ((.cse26 (select |c_#valid| v_weq0_3)) (.cse34 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (= (select |c_old(#length)| v_weq0_3) .cse26) (let ((.cse33 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse27 (select |c_old(#valid)| 0)) (.cse29 (select |c_old(#valid)| v_weq0_3)) (.cse28 (select |c_#length| v_weq0_3)) (.cse31 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse30 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse32 (select .cse33 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse27) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse28 1) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse29 .cse30) (= .cse27 .cse29) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse31 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse28) (= 1 .cse31) (= .cse30 .cse32) (= .cse32 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse26) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse26 c_build_nondet_String_~length~4) (= (select |c_#memory_int| v_weq0_3) .cse33) .cse34))) (not .cse34)))) .cse35 .cse36 .cse37 (forall ((v_weq0_3 Int)) (or (= (select |c_#length| v_weq0_3) (select |c_#valid| v_weq0_3)) (not (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (forall ((v_weq0_3 Int) (v_weq1_3 Int)) (let ((.cse49 (select |c_#memory_int| v_weq0_3))) (let ((.cse47 (select |c_old(#memory_int)| v_weq0_3)) (.cse48 (select .cse49 v_weq1_3))) (or (let ((.cse45 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base)) (.cse50 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (let ((.cse39 (select .cse49 .cse50)) (.cse40 (select |c_old(#valid)| v_weq0_3)) (.cse44 (select |c_#valid| v_weq0_3)) (.cse38 (select |c_old(#valid)| 0)) (.cse46 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse42 (select |c_#length| v_weq0_3)) (.cse43 (select .cse45 .cse50)) (.cse41 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse38 .cse39) (= |c_#NULL.base| 0) (= c_build_nondet_String_~nondetString~4.offset .cse40) (= .cse39 .cse41) (= .cse42 c_build_nondet_String_~length~4) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= .cse40 .cse43) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse44 1) (= |c_#NULL.offset| (select .cse45 v_weq1_3)) (= c_build_nondet_String_~length~4 .cse44) (= 0 .cse38) (= .cse46 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= 1 .cse46) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse42) (= .cse43 |c_#NULL.base|) (= .cse41 |c_#NULL.offset|) (= .cse47 (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= |c_build_nondet_String_#t~malloc1.offset| .cse48) (= .cse49 .cse45) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|) (= .cse48 c_build_nondet_String_~nondetString~4.offset) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq1_3 1))))) (= (select .cse47 v_weq1_3) .cse48))))) (= c_build_nondet_String_~length~4 1) (forall ((v_weq0_3 Int)) (let ((.cse53 (select |c_old(#valid)| v_weq0_3)) (.cse52 (select |c_#length| v_weq0_3)) (.cse59 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (let ((.cse58 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse51 (select |c_old(#valid)| 0)) (.cse55 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse54 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse56 (select .cse58 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse57 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse51) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse52 1) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse53 .cse54) (= .cse51 .cse53) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse55 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse52) (= 1 .cse55) (= .cse54 .cse56) (= .cse56 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse57) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse57 c_build_nondet_String_~length~4) (= (select |c_#memory_int| v_weq0_3) .cse58) .cse59))) (= .cse53 .cse52) (not .cse59)))) .cse60 (= .cse61 c_build_nondet_String_~length~4) (forall ((v_weq0_3 Int)) (let ((.cse64 (select |c_old(#valid)| v_weq0_3)) (.cse68 (select |c_#valid| v_weq0_3))) (or (let ((.cse69 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse62 (select |c_old(#valid)| 0)) (.cse63 (select |c_#length| v_weq0_3)) (.cse66 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse65 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse67 (select .cse69 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse62) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse63 1) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse64 .cse65) (= .cse62 .cse64) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse66 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse63) (= 1 .cse66) (= .cse65 .cse67) (= .cse67 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse68) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse68 c_build_nondet_String_~length~4) (= (select |c_#memory_int| v_weq0_3) .cse69) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= .cse64 .cse68)))) .cse70) (and .cse17 .cse18 .cse19 .cse20 (= c_build_nondet_String_~length~4 .cse24) .cse21 .cse22 .cse25 (forall ((v_weq0_3 Int)) (let ((.cse74 (select |c_old(#valid)| v_weq0_3)) (.cse72 (select |c_#valid| v_weq0_3))) (or (let ((.cse77 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse71 (select |c_old(#valid)| 0)) (.cse73 (select |c_#length| v_weq0_3)) (.cse75 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse76 (select .cse77 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse71) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse72 1) (= .cse73 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= .cse74 .cse75) (= .cse71 .cse74) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= c_build_nondet_String_~length~4 .cse73) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= .cse75 .cse76) (= .cse76 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse72) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= (select |c_#memory_int| v_weq0_3) .cse77) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= .cse74 .cse72)))) .cse35 .cse36 .cse37 (forall ((v_weq0_3 Int)) (let ((.cse80 (select |c_#length| v_weq0_3))) (or (let ((.cse84 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse78 (select |c_old(#valid)| 0)) (.cse81 (select |c_old(#valid)| v_weq0_3)) (.cse82 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse83 (select .cse84 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse79 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse78) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse79 1) (= .cse80 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= .cse81 .cse82) (= .cse78 .cse81) (= |c_build_nondet_String_#t~malloc1.offset| c_build_nondet_String_~nondetString~4.offset) (= c_build_nondet_String_~length~4 .cse80) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= .cse82 .cse83) (= .cse83 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse79) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= (select |c_#memory_int| v_weq0_3) .cse84) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= (select |c_old(#length)| v_weq0_3) .cse80)))) (= .cse61 1) .cse60 (forall ((v_weq0_3 Int) (v_weq1_3 Int)) (let ((.cse94 (select |c_#memory_int| v_weq0_3))) (let ((.cse85 (select |c_old(#memory_int)| v_weq0_3)) (.cse86 (select .cse94 v_weq1_3))) (or (= (select .cse85 v_weq1_3) .cse86) (let ((.cse93 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base)) (.cse95 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (let ((.cse88 (select .cse94 .cse95)) (.cse89 (select |c_old(#valid)| v_weq0_3)) (.cse87 (select |c_old(#valid)| 0)) (.cse91 (select .cse93 .cse95)) (.cse90 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse92 (select |c_#valid| v_weq0_3))) (and (= .cse87 .cse88) (= |c_#NULL.base| 0) (= c_build_nondet_String_~nondetString~4.offset .cse89) (= .cse88 .cse90) (= (select |c_#length| v_weq0_3) c_build_nondet_String_~length~4) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= .cse89 .cse91) (not (= c_build_nondet_String_~nondetString~4.base 0)) (= .cse92 1) (= c_build_nondet_String_~length~4 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= |c_#NULL.offset| (select .cse93 v_weq1_3)) (= 0 .cse87) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= .cse91 |c_#NULL.base|) (= .cse90 |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse92) (= .cse85 (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= |c_build_nondet_String_#t~malloc1.offset| .cse86) (= .cse94 .cse93) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|) (= .cse86 c_build_nondet_String_~nondetString~4.offset) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq1_3 1))))))))) (not (< c_build_nondet_String_~length~4 1)) .cse70)))) is different from false [2018-01-24 15:11:18,649 WARN L1007 $PredicateComparison]: unable to prove that (let ((.cse99 (select (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base) (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse51 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse106 (select |c_old(#valid)| 0)) (.cse100 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (let ((.cse0 (not (= |c_build_nondet_String_#t~malloc1.base| 0))) (.cse2 (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base)) (.cse3 (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|)) (.cse4 (= 0 |c_build_nondet_String_#t~malloc1.offset|)) (.cse5 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (.cse11 (= |c_#NULL.base| |c_#NULL.offset|)) (.cse28 (= .cse106 .cse100)) (.cse27 (select |c_#valid| c_build_nondet_String_~nondetString~4.base)) (.cse1 (= c_build_nondet_String_~nondetString~4.offset .cse106)) (.cse6 (forall ((v_weq0_3 Int)) (let ((.cse105 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse101 (select .cse105 v_weq0_3))) (or (= (select (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base) v_weq0_3) .cse101) (let ((.cse103 (select .cse105 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse104 (select |c_old(#valid)| 0)) (.cse102 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse102 .cse103) (= .cse103 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (not (= |c_build_nondet_String_#t~malloc1.base| 0)) (= |c_build_nondet_String_#t~malloc1.offset| 0) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq0_3 1)) (= .cse101 .cse104) (= .cse104 .cse102) (= 0 |c_build_nondet_String_#res.offset|) (= c_build_nondet_String_~nondetString~4.offset .cse101)))))))) (.cse7 (= 1 .cse51)) (.cse8 (= .cse100 .cse99)) (.cse9 (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|)) (.cse10 (= .cse99 |c_#NULL.base|)) (.cse12 (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset)) (.cse41 (not (= |c_#valid| |c_old(#valid)|)))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= c_build_nondet_String_~length~4 .cse5) .cse6 .cse7 .cse8 .cse9 .cse10 .cse11 .cse12 (forall ((v_weq0_3 Int)) (let ((.cse15 (select |c_#length| v_weq0_3))) (or (let ((.cse19 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse13 (select |c_old(#valid)| 0)) (.cse16 (select |c_old(#valid)| v_weq0_3)) (.cse17 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse18 (select .cse19 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse14 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse13) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse14 1) (= .cse15 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= .cse16 .cse17) (= .cse13 .cse16) (= c_build_nondet_String_~length~4 .cse15) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= .cse17 .cse18) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse18 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse14) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse19) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= (select |c_old(#length)| v_weq0_3) .cse15)))) (forall ((v_weq0_3 Int)) (let ((.cse23 (select |c_old(#valid)| v_weq0_3)) (.cse21 (select |c_#valid| v_weq0_3))) (or (let ((.cse26 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse20 (select |c_old(#valid)| 0)) (.cse22 (select |c_#length| v_weq0_3)) (.cse24 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse25 (select .cse26 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse20) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse21 1) (= .cse22 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= .cse23 .cse24) (= .cse20 .cse23) (= c_build_nondet_String_~length~4 .cse22) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= .cse24 .cse25) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse25 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse21) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse26) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= .cse23 .cse21)))) (= .cse27 1) .cse28 (not (< c_build_nondet_String_~length~4 1)) (forall ((v_weq0_3 Int) (v_weq1_3 Int)) (let ((.cse39 (select |c_#memory_int| v_weq0_3))) (let ((.cse29 (select |c_old(#memory_int)| v_weq0_3)) (.cse30 (select .cse39 v_weq1_3))) (or (= (select .cse29 v_weq1_3) .cse30) (let ((.cse38 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base)) (.cse40 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (let ((.cse32 (select .cse39 .cse40)) (.cse33 (select |c_old(#valid)| v_weq0_3)) (.cse31 (select |c_old(#valid)| 0)) (.cse37 (select |c_#length| v_weq0_3)) (.cse35 (select .cse38 .cse40)) (.cse34 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse36 (select |c_#valid| v_weq0_3))) (and (= .cse31 .cse32) (= |c_#NULL.base| 0) (= .cse30 |c_build_nondet_String_#res.offset|) (= c_build_nondet_String_~nondetString~4.offset .cse33) (= .cse32 .cse34) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= .cse33 .cse35) (= .cse36 1) (= .cse37 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= |c_#NULL.offset| (select .cse38 v_weq1_3)) (= 0 .cse31) (= c_build_nondet_String_~length~4 .cse37) (= 1 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse35 |c_#NULL.base|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse34 |c_#NULL.offset|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse36) (= .cse29 (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= |c_build_nondet_String_#t~malloc1.offset| .cse30) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse39 .cse38) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq1_3 1))))))))) .cse41) (and .cse0 .cse2 .cse3 (forall ((v_weq0_3 Int)) (let ((.cse42 (select |c_old(#valid)| v_weq0_3)) (.cse50 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (= (select |c_old(#length)| v_weq0_3) .cse42) (let ((.cse49 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse43 (select |c_old(#valid)| 0)) (.cse44 (select |c_#length| v_weq0_3)) (.cse46 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse45 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse47 (select .cse49 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse48 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse43) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse44 1) (= .cse42 .cse45) (= .cse43 .cse42) (= .cse46 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse44) (= 1 .cse46) (= .cse45 .cse47) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse47 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse48) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse48 c_build_nondet_String_~length~4) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse49) .cse50))) (not .cse50)))) .cse4 (= .cse51 .cse5) .cse11 (forall ((v_weq0_3 Int)) (let ((.cse54 (select |c_old(#valid)| v_weq0_3)) (.cse58 (select |c_#valid| v_weq0_3))) (or (let ((.cse59 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse52 (select |c_old(#valid)| 0)) (.cse53 (select |c_#length| v_weq0_3)) (.cse56 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse55 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse57 (select .cse59 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse52) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse53 1) (= .cse54 .cse55) (= .cse52 .cse54) (= .cse56 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse53) (= 1 .cse56) (= .cse55 .cse57) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse57 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse58) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse58 c_build_nondet_String_~length~4) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse59) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= .cse54 .cse58)))) (forall ((v_weq0_3 Int)) (or (= (select |c_#length| v_weq0_3) (select |c_#valid| v_weq0_3)) (not (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (forall ((v_weq0_3 Int)) (let ((.cse61 (select |c_#length| v_weq0_3))) (or (let ((.cse67 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse60 (select |c_old(#valid)| 0)) (.cse62 (select |c_old(#valid)| v_weq0_3)) (.cse64 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse63 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse65 (select .cse67 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse66 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse60) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse61 1) (= .cse62 .cse63) (= .cse60 .cse62) (= .cse64 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse61) (= 1 .cse64) (= .cse63 .cse65) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse65 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse66) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse66 c_build_nondet_String_~length~4) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse67) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|)))) (= (select |c_old(#length)| v_weq0_3) .cse61)))) .cse28 (= .cse27 c_build_nondet_String_~length~4) (forall ((v_weq0_3 Int)) (let ((.cse68 (select |c_old(#valid)| v_weq0_3)) (.cse69 (select |c_#length| v_weq0_3)) (.cse76 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (= .cse68 .cse69) (let ((.cse75 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse70 (select |c_old(#valid)| 0)) (.cse72 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse71 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse73 (select .cse75 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (.cse74 (select |c_#valid| v_weq0_3))) (and (= c_build_nondet_String_~nondetString~4.offset .cse70) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse69 1) (= .cse68 .cse71) (= .cse70 .cse68) (= .cse72 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse69) (= 1 .cse72) (= .cse71 .cse73) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse73 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse74) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse74 c_build_nondet_String_~length~4) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse75) .cse76))) (not .cse76)))) (not (= |c_#length| |c_old(#valid)|)) .cse1 .cse6 (forall ((v_weq0_3 Int)) (let ((.cse77 (select |c_#valid| v_weq0_3)) (.cse85 (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|))) (or (= (select |c_old(#length)| v_weq0_3) .cse77) (let ((.cse84 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base))) (let ((.cse78 (select |c_old(#valid)| 0)) (.cse80 (select |c_old(#valid)| v_weq0_3)) (.cse79 (select |c_#length| v_weq0_3)) (.cse82 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse81 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|)) (.cse83 (select .cse84 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1))))) (and (= c_build_nondet_String_~nondetString~4.offset .cse78) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= |c_build_nondet_String_#t~malloc1.offset| |c_build_nondet_String_#res.offset|) (= 0 |c_build_nondet_String_#t~malloc1.offset|) (= .cse79 1) (= .cse80 .cse81) (= .cse78 .cse80) (= .cse82 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= c_build_nondet_String_~length~4 .cse79) (= 1 .cse82) (= .cse81 .cse83) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse83 |c_#NULL.base|) (= |c_#NULL.base| |c_#NULL.offset|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) .cse77) (= (select |c_old(#memory_int)| v_weq0_3) (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= .cse77 c_build_nondet_String_~length~4) (not (= |c_build_nondet_String_#res.base| 0)) (= (select |c_#memory_int| v_weq0_3) .cse84) .cse85))) (not .cse85)))) .cse7 .cse8 .cse9 .cse10 .cse12 (= c_build_nondet_String_~length~4 1) (forall ((v_weq0_3 Int) (v_weq1_3 Int)) (let ((.cse97 (select |c_#memory_int| v_weq0_3))) (let ((.cse86 (select |c_old(#memory_int)| v_weq0_3)) (.cse87 (select .cse97 v_weq1_3))) (or (= (select .cse86 v_weq1_3) .cse87) (let ((.cse92 (select |c_#memory_int| c_build_nondet_String_~nondetString~4.base)) (.cse98 (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4 (- 1)))) (let ((.cse89 (select .cse97 .cse98)) (.cse91 (select |c_#length| v_weq0_3)) (.cse95 (select |c_old(#valid)| v_weq0_3)) (.cse94 (select |c_#valid| v_weq0_3)) (.cse88 (select |c_old(#valid)| 0)) (.cse93 (select |c_#valid| |c_build_nondet_String_#t~malloc1.base|)) (.cse96 (select .cse92 .cse98)) (.cse90 (select |c_old(#valid)| |c_build_nondet_String_#t~malloc1.base|))) (and (= .cse88 .cse89) (= .cse89 .cse90) (= |c_build_nondet_String_#t~malloc1.base| c_build_nondet_String_~nondetString~4.base) (= .cse91 1) (= |c_#NULL.offset| (select .cse92 v_weq1_3)) (= .cse93 (select |c_#length| |c_build_nondet_String_#t~malloc1.base|)) (= v_weq0_3 |c_build_nondet_String_#t~malloc1.base|) (= (select |c_#valid| c_build_nondet_String_~nondetString~4.base) c_build_nondet_String_~length~4) (= .cse94 .cse91) (= |c_#NULL.base| 0) (= .cse87 |c_build_nondet_String_#res.offset|) (= c_build_nondet_String_~nondetString~4.offset .cse95) (= .cse95 .cse96) (= c_build_nondet_String_~length~4 .cse94) (= 0 .cse88) (= 1 .cse93) (= c_build_nondet_String_~nondetString~4.base |c_build_nondet_String_#res.base|) (= .cse96 |c_#NULL.base|) (= |c_build_nondet_String_#res.offset| c_build_nondet_String_~nondetString~4.offset) (= .cse90 |c_#NULL.offset|) (= .cse86 (select |c_old(#memory_int)| c_build_nondet_String_~nondetString~4.base)) (= |c_build_nondet_String_#t~malloc1.offset| .cse87) (not (= |c_build_nondet_String_#res.base| 0)) (= .cse97 .cse92) (= (+ c_build_nondet_String_~nondetString~4.offset c_build_nondet_String_~length~4) (+ v_weq1_3 1))))))))) .cse41)))) is different from false [2018-01-24 15:11:18,762 INFO L419 sIntCurrentIteration]: Finished generation of AbsInt predicates [2018-01-24 15:11:18,762 INFO L320 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-01-24 15:11:18,763 INFO L335 seRefinementStrategy]: Number of different interpolants: perfect sequences [19] imperfect sequences [11] total 29 [2018-01-24 15:11:18,763 INFO L252 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-01-24 15:11:18,763 INFO L409 AbstractCegarLoop]: Interpolant automaton has 20 states [2018-01-24 15:11:18,763 INFO L132 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2018-01-24 15:11:18,763 INFO L133 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=248, Unknown=2, NotChecked=66, Total=380 [2018-01-24 15:11:18,763 INFO L87 Difference]: Start difference. First operand 106 states and 130 transitions. Second operand 20 states. Received shutdown request... [2018-01-24 15:11:21,238 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-01-24 15:11:21,238 WARN L491 AbstractCegarLoop]: Verification canceled [2018-01-24 15:11:21,243 WARN L187 ceAbstractionStarter]: Timeout [2018-01-24 15:11:21,243 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 24.01 03:11:21 BoogieIcfgContainer [2018-01-24 15:11:21,243 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-01-24 15:11:21,244 INFO L168 Benchmark]: Toolchain (without parser) took 47509.94 ms. Allocated memory was 305.7 MB in the beginning and 1.2 GB in the end (delta: 887.1 MB). Free memory was 264.7 MB in the beginning and 911.6 MB in the end (delta: -646.8 MB). Peak memory consumption was 240.3 MB. Max. memory is 5.3 GB. [2018-01-24 15:11:21,244 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 305.7 MB. Free memory is still 270.7 MB. There was no memory consumed. Max. memory is 5.3 GB. [2018-01-24 15:11:21,244 INFO L168 Benchmark]: CACSL2BoogieTranslator took 226.86 ms. Allocated memory is still 305.7 MB. Free memory was 264.7 MB in the beginning and 254.6 MB in the end (delta: 10.1 MB). Peak memory consumption was 10.1 MB. Max. memory is 5.3 GB. [2018-01-24 15:11:21,244 INFO L168 Benchmark]: Boogie Preprocessor took 38.38 ms. Allocated memory is still 305.7 MB. Free memory was 254.6 MB in the beginning and 252.6 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. [2018-01-24 15:11:21,245 INFO L168 Benchmark]: RCFGBuilder took 317.30 ms. Allocated memory is still 305.7 MB. Free memory was 252.6 MB in the beginning and 232.1 MB in the end (delta: 20.5 MB). Peak memory consumption was 20.5 MB. Max. memory is 5.3 GB. [2018-01-24 15:11:21,245 INFO L168 Benchmark]: TraceAbstraction took 46918.42 ms. Allocated memory was 305.7 MB in the beginning and 1.2 GB in the end (delta: 887.1 MB). Free memory was 232.1 MB in the beginning and 911.6 MB in the end (delta: -679.5 MB). Peak memory consumption was 207.6 MB. Max. memory is 5.3 GB. [2018-01-24 15:11:21,247 INFO L344 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 305.7 MB. Free memory is still 270.7 MB. There was no memory consumed. Max. memory is 5.3 GB. * CACSL2BoogieTranslator took 226.86 ms. Allocated memory is still 305.7 MB. Free memory was 264.7 MB in the beginning and 254.6 MB in the end (delta: 10.1 MB). Peak memory consumption was 10.1 MB. Max. memory is 5.3 GB. * Boogie Preprocessor took 38.38 ms. Allocated memory is still 305.7 MB. Free memory was 254.6 MB in the beginning and 252.6 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. * RCFGBuilder took 317.30 ms. Allocated memory is still 305.7 MB. Free memory was 252.6 MB in the beginning and 232.1 MB in the end (delta: 20.5 MB). Peak memory consumption was 20.5 MB. Max. memory is 5.3 GB. * TraceAbstraction took 46918.42 ms. Allocated memory was 305.7 MB in the beginning and 1.2 GB in the end (delta: 887.1 MB). Free memory was 232.1 MB in the beginning and 911.6 MB in the end (delta: -679.5 MB). Peak memory consumption was 207.6 MB. Max. memory is 5.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 20 LocStat_MAX_WEQGRAPH_SIZE : 8 LocStat_MAX_SIZEOF_WEQEDGELABEL : 2 LocStat_NO_SUPPORTING_EQUALITIES : 161 LocStat_NO_SUPPORTING_DISEQUALITIES : 32 LocStat_NO_DISJUNCTIONS : -40 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 30 TransStat_MAX_WEQGRAPH_SIZE : 2 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 51 TransStat_NO_SUPPORTING_DISEQUALITIES : 3 TransStat_NO_DISJUNCTIONS : 30 TransStat_MAX_NO_DISJUNCTIONS : 1 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 0.988840 RENAME_VARIABLES(MILLISECONDS) : 0.495604 UNFREEZE(MILLISECONDS) : 0.000000 CONJOIN(MILLISECONDS) : 0.933665 PROJECTAWAY(MILLISECONDS) : 0.045646 ADD_WEAK_EQUALITY(MILLISECONDS) : 0.245636 DISJOIN(MILLISECONDS) : 0.154954 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 0.528733 ADD_EQUALITY(MILLISECONDS) : 0.020907 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.000000 ADD_DISEQUALITY(MILLISECONDS) : 0.022752 #CONJOIN_DISJUNCTIVE : 48 #RENAME_VARIABLES : 77 #UNFREEZE : 0 #CONJOIN : 90 #PROJECTAWAY : 72 #ADD_WEAK_EQUALITY : 5 #DISJOIN : 8 #RENAME_VARIABLES_DISJUNCTIVE : 77 #ADD_EQUALITY : 52 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 2 - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 21 LocStat_MAX_WEQGRAPH_SIZE : 8 LocStat_MAX_SIZEOF_WEQEDGELABEL : 2 LocStat_NO_SUPPORTING_EQUALITIES : 175 LocStat_NO_SUPPORTING_DISEQUALITIES : 35 LocStat_NO_DISJUNCTIONS : -42 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 30 TransStat_MAX_WEQGRAPH_SIZE : 2 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 53 TransStat_NO_SUPPORTING_DISEQUALITIES : 2 TransStat_NO_DISJUNCTIONS : 31 TransStat_MAX_NO_DISJUNCTIONS : 2 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 1.043625 RENAME_VARIABLES(MILLISECONDS) : 0.166554 UNFREEZE(MILLISECONDS) : 0.000000 CONJOIN(MILLISECONDS) : 0.493143 PROJECTAWAY(MILLISECONDS) : 0.036140 ADD_WEAK_EQUALITY(MILLISECONDS) : 0.063977 DISJOIN(MILLISECONDS) : 0.068614 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 0.179877 ADD_EQUALITY(MILLISECONDS) : 0.011861 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.000000 ADD_DISEQUALITY(MILLISECONDS) : 0.005810 #CONJOIN_DISJUNCTIVE : 48 #RENAME_VARIABLES : 78 #UNFREEZE : 0 #CONJOIN : 91 #PROJECTAWAY : 75 #ADD_WEAK_EQUALITY : 5 #DISJOIN : 9 #RENAME_VARIABLES_DISJUNCTIVE : 77 #ADD_EQUALITY : 54 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 1 - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 20 LocStat_MAX_WEQGRAPH_SIZE : 4 LocStat_MAX_SIZEOF_WEQEDGELABEL : 1 LocStat_NO_SUPPORTING_EQUALITIES : 148 LocStat_NO_SUPPORTING_DISEQUALITIES : 27 LocStat_NO_DISJUNCTIONS : -40 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 31 TransStat_MAX_WEQGRAPH_SIZE : 2 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 52 TransStat_NO_SUPPORTING_DISEQUALITIES : 3 TransStat_NO_DISJUNCTIONS : 31 TransStat_MAX_NO_DISJUNCTIONS : 1 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 0.231314 RENAME_VARIABLES(MILLISECONDS) : 0.081291 UNFREEZE(MILLISECONDS) : 0.000000 CONJOIN(MILLISECONDS) : 0.209538 PROJECTAWAY(MILLISECONDS) : 0.050591 ADD_WEAK_EQUALITY(MILLISECONDS) : 0.091909 DISJOIN(MILLISECONDS) : 0.118011 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 0.101582 ADD_EQUALITY(MILLISECONDS) : 0.011988 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.000000 ADD_DISEQUALITY(MILLISECONDS) : 0.021373 #CONJOIN_DISJUNCTIVE : 117 #RENAME_VARIABLES : 246 #UNFREEZE : 0 #CONJOIN : 197 #PROJECTAWAY : 171 #ADD_WEAK_EQUALITY : 5 #DISJOIN : 46 #RENAME_VARIABLES_DISJUNCTIVE : 246 #ADD_EQUALITY : 53 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 2 * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 546). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 546). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 556). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 554). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 559). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 557). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 556). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 559). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 557). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 554). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 557). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 557). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that free always succeeds (line 569). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that free always succeeds (line 568). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 567). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that free always succeeds (line 568). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that free always succeeds (line 569). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 564]: Timeout (TraceAbstraction) Unable to prove that all allocated memory was freed (line 564). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - TimeoutResultAtElement [Line: 1]: Timeout (TraceAbstraction) Unable to prove that pointer dereference always succeeds (line 567). Cancelled while BasicCegarLoop was constructing difference of abstraction (106states) and interpolant automaton (currently 12 states, 20 states before enhancement), while ReachableStatesComputation was computing reachable states (31 states constructedinput type IntersectNwa). - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 65 locations, 19 error locations. TIMEOUT Result, 46.8s OverallTime, 5 OverallIterations, 2 TraceHistogramMax, 31.8s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 211 SDtfs, 725 SDslu, 601 SDs, 0 SdLazy, 1316 SolverSat, 77 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 10.6s Time, PredicateUnifierStatistics: 4 DeclaredPredicates, 220 GetRequests, 93 SyntacticMatches, 5 SemanticMatches, 122 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 1319 ImplicationChecksByTransitivity, 4.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=106occurred in iteration=4, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 7.6s AbstIntTime, 3 AbstIntIterations, 2 AbstIntStrong, 0.8600659261373548 AbsIntWeakeningRatio, 1.3214285714285714 AbsIntAvgWeakeningVarsNumRemoved, 5.660714285714286 AbsIntAvgWeakenedConjuncts, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 4 MinimizatonAttempts, 112 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 3.7s InterpolantComputationTime, 167 NumberOfCodeBlocks, 167 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 216 ConstructedInterpolants, 39 QuantifiedInterpolants, 73404 SizeOfPredicates, 27 NumberOfNonLiveVariables, 274 ConjunctsInSsa, 82 ConjunctsInUnsatCore, 9 InterpolantComputations, 2 PerfectInterpolantSequences, 21/56 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, REUSE_STATISTICS: No data available RESULT: Ultimate could not prove your program: Timeout Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-Benchmark-0-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-VPDomainBenchmark-0-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-BenchmarkWithCounters-0-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-VPDomainBenchmark-1-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-BenchmarkWithCounters-1-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-VPDomainBenchmark-2-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-BenchmarkWithCounters-2-2018-01-24_15-11-21-256.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrpbrk_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Taipan+AI_EQ.epf_AutomizerC.xml/Csv-TraceAbstractionBenchmarks-0-2018-01-24_15-11-21-256.csv Completed graceful shutdown