/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 11:28:01,027 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 11:28:01,038 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 11:28:01,097 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 11:28:01,097 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 11:28:01,098 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 11:28:01,100 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 11:28:01,102 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 11:28:01,103 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 11:28:01,106 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 11:28:01,107 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 11:28:01,108 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 11:28:01,108 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 11:28:01,110 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 11:28:01,110 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 11:28:01,112 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 11:28:01,113 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 11:28:01,113 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 11:28:01,115 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 11:28:01,119 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 11:28:01,120 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 11:28:01,121 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 11:28:01,122 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 11:28:01,122 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 11:28:01,123 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 11:28:01,128 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 11:28:01,128 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 11:28:01,129 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 11:28:01,129 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 11:28:01,129 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 11:28:01,130 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 11:28:01,130 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 11:28:01,132 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 11:28:01,132 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 11:28:01,132 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 11:28:01,133 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 11:28:01,133 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 11:28:01,133 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 11:28:01,134 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 11:28:01,134 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 11:28:01,134 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 11:28:01,135 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 11:28:01,136 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 11:28:01,146 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 11:28:01,146 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 11:28:01,147 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 11:28:01,147 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 11:28:01,147 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 11:28:01,147 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 11:28:01,148 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 11:28:01,148 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 11:28:01,148 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 11:28:01,148 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 11:28:01,148 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 11:28:01,149 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:28:01,149 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 11:28:01,149 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 11:28:01,150 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 11:28:01,150 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 11:28:01,150 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 11:28:01,150 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 11:28:01,332 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 11:28:01,356 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 11:28:01,357 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 11:28:01,358 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 11:28:01,359 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 11:28:01,360 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound5.c [2022-04-28 11:28:01,401 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a82c3e48/5117abd2c2e44e06be3970461319d4dd/FLAG1e3c8ebc6 [2022-04-28 11:28:01,695 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 11:28:01,697 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound5.c [2022-04-28 11:28:01,703 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a82c3e48/5117abd2c2e44e06be3970461319d4dd/FLAG1e3c8ebc6 [2022-04-28 11:28:02,127 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6a82c3e48/5117abd2c2e44e06be3970461319d4dd [2022-04-28 11:28:02,129 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 11:28:02,130 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 11:28:02,134 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 11:28:02,134 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 11:28:02,137 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 11:28:02,144 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,145 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@43167e22 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02, skipping insertion in model container [2022-04-28 11:28:02,145 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,155 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 11:28:02,164 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 11:28:02,315 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound5.c[576,589] [2022-04-28 11:28:02,341 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:28:02,346 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 11:28:02,359 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound5.c[576,589] [2022-04-28 11:28:02,378 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 11:28:02,386 INFO L208 MainTranslator]: Completed translation [2022-04-28 11:28:02,386 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02 WrapperNode [2022-04-28 11:28:02,387 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 11:28:02,388 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 11:28:02,388 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 11:28:02,389 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 11:28:02,396 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,396 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,401 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,401 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,411 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,417 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,422 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,424 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 11:28:02,425 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 11:28:02,425 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 11:28:02,425 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 11:28:02,425 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (1/1) ... [2022-04-28 11:28:02,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 11:28:02,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:02,459 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 11:28:02,499 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 11:28:02,524 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 11:28:02,524 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 11:28:02,525 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 11:28:02,525 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 11:28:02,525 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 11:28:02,525 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 11:28:02,525 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 11:28:02,526 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 11:28:02,526 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 11:28:02,526 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 11:28:02,526 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 11:28:02,526 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 11:28:02,565 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 11:28:02,566 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 11:28:02,686 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 11:28:02,690 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 11:28:02,691 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 11:28:02,692 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:28:02 BoogieIcfgContainer [2022-04-28 11:28:02,692 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 11:28:02,693 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 11:28:02,693 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 11:28:02,695 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 11:28:02,695 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 11:28:02" (1/3) ... [2022-04-28 11:28:02,696 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@566d997d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:28:02, skipping insertion in model container [2022-04-28 11:28:02,696 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 11:28:02" (2/3) ... [2022-04-28 11:28:02,696 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@566d997d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 11:28:02, skipping insertion in model container [2022-04-28 11:28:02,696 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 11:28:02" (3/3) ... [2022-04-28 11:28:02,697 INFO L111 eAbstractionObserver]: Analyzing ICFG cohendiv-ll_valuebound5.c [2022-04-28 11:28:02,705 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 11:28:02,706 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 11:28:02,732 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 11:28:02,737 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@345ab466, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@477449a9 [2022-04-28 11:28:02,737 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 11:28:02,754 INFO L276 IsEmpty]: Start isEmpty. Operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 11:28:02,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 11:28:02,775 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:02,776 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:02,776 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:02,780 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:02,780 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 1 times [2022-04-28 11:28:02,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:02,786 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1268697632] [2022-04-28 11:28:02,792 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:02,793 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 2 times [2022-04-28 11:28:02,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:02,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [860994281] [2022-04-28 11:28:02,795 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:02,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:02,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:02,953 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 11:28:02,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:02,979 INFO L290 TraceCheckUtils]: 0: Hoare triple {59#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-28 11:28:02,979 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 11:28:02,979 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 11:28:02,980 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 11:28:02,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:03,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 11:28:03,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 11:28:03,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:03,012 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 11:28:03,013 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 11:28:03,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:03,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,020 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,021 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 11:28:03,022 INFO L272 TraceCheckUtils]: 0: Hoare triple {42#true} call ULTIMATE.init(); {59#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 11:28:03,022 INFO L290 TraceCheckUtils]: 1: Hoare triple {59#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {42#true} is VALID [2022-04-28 11:28:03,022 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-28 11:28:03,022 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-28 11:28:03,022 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret6 := main(); {42#true} is VALID [2022-04-28 11:28:03,023 INFO L290 TraceCheckUtils]: 5: Hoare triple {42#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {42#true} is VALID [2022-04-28 11:28:03,023 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {42#true} is VALID [2022-04-28 11:28:03,024 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,024 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,024 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,025 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-28 11:28:03,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {43#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {43#false} is VALID [2022-04-28 11:28:03,026 INFO L272 TraceCheckUtils]: 12: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {42#true} is VALID [2022-04-28 11:28:03,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,027 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-28 11:28:03,027 INFO L272 TraceCheckUtils]: 17: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {42#true} is VALID [2022-04-28 11:28:03,027 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-28 11:28:03,027 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-28 11:28:03,027 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-28 11:28:03,028 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-28 11:28:03,028 INFO L290 TraceCheckUtils]: 22: Hoare triple {43#false} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {43#false} is VALID [2022-04-28 11:28:03,028 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#false} assume false; {43#false} is VALID [2022-04-28 11:28:03,029 INFO L272 TraceCheckUtils]: 24: Hoare triple {43#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {43#false} is VALID [2022-04-28 11:28:03,029 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-28 11:28:03,029 INFO L290 TraceCheckUtils]: 26: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-28 11:28:03,029 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-28 11:28:03,030 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 11:28:03,030 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:03,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [860994281] [2022-04-28 11:28:03,031 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [860994281] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:03,032 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:03,032 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:28:03,033 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:03,034 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1268697632] [2022-04-28 11:28:03,034 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1268697632] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:03,034 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:03,034 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 11:28:03,035 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763009461] [2022-04-28 11:28:03,035 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:03,039 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 11:28:03,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:03,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:28:03,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:03,071 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 11:28:03,071 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:03,091 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 11:28:03,091 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:28:03,093 INFO L87 Difference]: Start difference. First operand has 39 states, 21 states have (on average 1.4285714285714286) internal successors, (30), 22 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:28:03,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:03,235 INFO L93 Difference]: Finished difference Result 71 states and 110 transitions. [2022-04-28 11:28:03,235 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 11:28:03,236 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-28 11:28:03,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:03,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:28:03,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 11:28:03,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:28:03,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-28 11:28:03,260 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-28 11:28:03,375 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:03,381 INFO L225 Difference]: With dead ends: 71 [2022-04-28 11:28:03,381 INFO L226 Difference]: Without dead ends: 34 [2022-04-28 11:28:03,384 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 11:28:03,386 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:03,386 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:28:03,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-28 11:28:03,406 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-28 11:28:03,406 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:03,407 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:28:03,407 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:28:03,407 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:28:03,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:03,411 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-28 11:28:03,411 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 11:28:03,412 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:03,412 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:03,412 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 34 states. [2022-04-28 11:28:03,412 INFO L87 Difference]: Start difference. First operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 34 states. [2022-04-28 11:28:03,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:03,415 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-28 11:28:03,416 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 11:28:03,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:03,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:03,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:03,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:03,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 18 states have (on average 1.1666666666666667) internal successors, (21), 19 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-28 11:28:03,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-28 11:28:03,420 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 28 [2022-04-28 11:28:03,420 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:03,420 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-28 11:28:03,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-28 11:28:03,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-28 11:28:03,477 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:03,477 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-28 11:28:03,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 11:28:03,479 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:03,479 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:03,479 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 11:28:03,480 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:03,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:03,481 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 1 times [2022-04-28 11:28:03,481 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:03,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [758443528] [2022-04-28 11:28:03,482 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:03,482 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 2 times [2022-04-28 11:28:03,482 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:03,485 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1039854409] [2022-04-28 11:28:03,485 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:03,485 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:03,518 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:03,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [813742581] [2022-04-28 11:28:03,518 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:03,518 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:03,518 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:03,523 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:03,524 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 11:28:03,578 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 11:28:03,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:03,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 11:28:03,602 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:03,605 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:07,777 INFO L272 TraceCheckUtils]: 0: Hoare triple {340#true} call ULTIMATE.init(); {340#true} is VALID [2022-04-28 11:28:07,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {340#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {340#true} is VALID [2022-04-28 11:28:07,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-28 11:28:07,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {340#true} {340#true} #98#return; {340#true} is VALID [2022-04-28 11:28:07,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {340#true} call #t~ret6 := main(); {340#true} is VALID [2022-04-28 11:28:07,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {340#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {340#true} is VALID [2022-04-28 11:28:07,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {340#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {340#true} is VALID [2022-04-28 11:28:07,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-28 11:28:07,779 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-28 11:28:07,779 INFO L290 TraceCheckUtils]: 9: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-28 11:28:07,779 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {340#true} {340#true} #78#return; {340#true} is VALID [2022-04-28 11:28:07,779 INFO L290 TraceCheckUtils]: 11: Hoare triple {340#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {340#true} is VALID [2022-04-28 11:28:07,779 INFO L272 TraceCheckUtils]: 12: Hoare triple {340#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {340#true} is VALID [2022-04-28 11:28:07,780 INFO L290 TraceCheckUtils]: 13: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-28 11:28:07,780 INFO L290 TraceCheckUtils]: 14: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-28 11:28:07,780 INFO L290 TraceCheckUtils]: 15: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-28 11:28:07,780 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {340#true} {340#true} #80#return; {340#true} is VALID [2022-04-28 11:28:07,780 INFO L272 TraceCheckUtils]: 17: Hoare triple {340#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {340#true} is VALID [2022-04-28 11:28:07,780 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-28 11:28:07,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-28 11:28:07,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-28 11:28:07,781 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {340#true} {340#true} #82#return; {340#true} is VALID [2022-04-28 11:28:07,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {340#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {411#(and (= main_~a~0 0) (= main_~b~0 0))} is VALID [2022-04-28 11:28:07,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {411#(and (= main_~a~0 0) (= main_~b~0 0))} assume !false; {411#(and (= main_~a~0 0) (= main_~b~0 0))} is VALID [2022-04-28 11:28:07,783 INFO L272 TraceCheckUtils]: 24: Hoare triple {411#(and (= main_~a~0 0) (= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {418#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:07,783 INFO L290 TraceCheckUtils]: 25: Hoare triple {418#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {422#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:07,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {422#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {341#false} is VALID [2022-04-28 11:28:07,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {341#false} assume !false; {341#false} is VALID [2022-04-28 11:28:07,784 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 11:28:07,784 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:28:07,785 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:07,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1039854409] [2022-04-28 11:28:07,785 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:07,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [813742581] [2022-04-28 11:28:07,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [813742581] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:07,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:07,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:28:07,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:07,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [758443528] [2022-04-28 11:28:07,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [758443528] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:07,787 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:07,787 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:28:07,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1375874952] [2022-04-28 11:28:07,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:07,787 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 11:28:07,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:07,788 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 11:28:07,808 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:07,808 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:28:07,808 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:07,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:28:07,811 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 11:28:07,811 INFO L87 Difference]: Start difference. First operand 34 states and 43 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 11:28:07,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:07,988 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-28 11:28:07,988 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 11:28:07,989 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-28 11:28:07,989 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:07,989 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 11:28:07,991 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-28 11:28:07,991 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 11:28:07,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-28 11:28:07,993 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-04-28 11:28:08,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:08,035 INFO L225 Difference]: With dead ends: 45 [2022-04-28 11:28:08,035 INFO L226 Difference]: Without dead ends: 43 [2022-04-28 11:28:08,035 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:28:08,036 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 6 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 149 SdHoareTripleChecker+Invalid, 28 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:08,037 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [8 Valid, 149 Invalid, 28 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 11:28:08,037 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-28 11:28:08,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 40. [2022-04-28 11:28:08,046 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:08,046 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:28:08,047 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:28:08,047 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:28:08,050 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:08,050 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-28 11:28:08,050 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 11:28:08,050 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:08,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:08,051 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 43 states. [2022-04-28 11:28:08,051 INFO L87 Difference]: Start difference. First operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) Second operand 43 states. [2022-04-28 11:28:08,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:08,054 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-28 11:28:08,054 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 11:28:08,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:08,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:08,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:08,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:08,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 22 states have (on average 1.1363636363636365) internal successors, (25), 24 states have internal predecessors, (25), 13 states have call successors, (13), 5 states have call predecessors, (13), 4 states have return successors, (11), 10 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 11:28:08,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-28 11:28:08,057 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 28 [2022-04-28 11:28:08,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:08,057 INFO L495 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-28 11:28:08,057 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 11:28:08,058 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-28 11:28:08,101 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:08,102 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-28 11:28:08,103 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 11:28:08,103 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:08,103 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:08,120 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:08,316 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:08,317 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:08,317 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:08,317 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 1 times [2022-04-28 11:28:08,317 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:08,317 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [859413479] [2022-04-28 11:28:08,318 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:08,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 2 times [2022-04-28 11:28:08,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:08,318 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [783583512] [2022-04-28 11:28:08,318 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:08,318 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:08,332 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:08,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1792763817] [2022-04-28 11:28:08,333 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:08,333 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:08,333 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:08,334 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:08,336 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 11:28:08,378 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:08,378 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:08,380 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 11:28:08,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:08,390 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:08,632 INFO L272 TraceCheckUtils]: 0: Hoare triple {686#true} call ULTIMATE.init(); {686#true} is VALID [2022-04-28 11:28:08,633 INFO L290 TraceCheckUtils]: 1: Hoare triple {686#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {686#true} is VALID [2022-04-28 11:28:08,633 INFO L290 TraceCheckUtils]: 2: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-28 11:28:08,633 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {686#true} {686#true} #98#return; {686#true} is VALID [2022-04-28 11:28:08,633 INFO L272 TraceCheckUtils]: 4: Hoare triple {686#true} call #t~ret6 := main(); {686#true} is VALID [2022-04-28 11:28:08,633 INFO L290 TraceCheckUtils]: 5: Hoare triple {686#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {686#true} is VALID [2022-04-28 11:28:08,634 INFO L272 TraceCheckUtils]: 6: Hoare triple {686#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {686#true} is VALID [2022-04-28 11:28:08,634 INFO L290 TraceCheckUtils]: 7: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-28 11:28:08,634 INFO L290 TraceCheckUtils]: 8: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-28 11:28:08,634 INFO L290 TraceCheckUtils]: 9: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-28 11:28:08,634 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {686#true} {686#true} #78#return; {686#true} is VALID [2022-04-28 11:28:08,634 INFO L290 TraceCheckUtils]: 11: Hoare triple {686#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {686#true} is VALID [2022-04-28 11:28:08,634 INFO L272 TraceCheckUtils]: 12: Hoare triple {686#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {686#true} is VALID [2022-04-28 11:28:08,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {686#true} ~cond := #in~cond; {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:28:08,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:08,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:08,641 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {734#(not (= |assume_abort_if_not_#in~cond| 0))} {686#true} #80#return; {741#(and (<= 0 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 11:28:08,641 INFO L272 TraceCheckUtils]: 17: Hoare triple {741#(and (<= 0 main_~y~0) (<= main_~y~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {686#true} is VALID [2022-04-28 11:28:08,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {686#true} ~cond := #in~cond; {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:28:08,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {730#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:08,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {734#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {734#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:08,643 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {734#(not (= |assume_abort_if_not_#in~cond| 0))} {741#(and (<= 0 main_~y~0) (<= main_~y~0 5))} #82#return; {757#(and (<= 1 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 11:28:08,643 INFO L290 TraceCheckUtils]: 22: Hoare triple {757#(and (<= 1 main_~y~0) (<= main_~y~0 5))} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 11:28:08,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} assume !false; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 11:28:08,644 INFO L272 TraceCheckUtils]: 24: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {686#true} is VALID [2022-04-28 11:28:08,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-28 11:28:08,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-28 11:28:08,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-28 11:28:08,645 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {686#true} {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} #84#return; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} is VALID [2022-04-28 11:28:08,646 INFO L272 TraceCheckUtils]: 29: Hoare triple {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 5))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {783#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:08,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {783#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {787#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:08,648 INFO L290 TraceCheckUtils]: 31: Hoare triple {787#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {687#false} is VALID [2022-04-28 11:28:08,649 INFO L290 TraceCheckUtils]: 32: Hoare triple {687#false} assume !false; {687#false} is VALID [2022-04-28 11:28:08,649 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 11:28:08,649 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:28:08,649 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:08,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [783583512] [2022-04-28 11:28:08,649 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:08,649 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792763817] [2022-04-28 11:28:08,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792763817] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:08,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:08,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:28:08,650 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:08,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [859413479] [2022-04-28 11:28:08,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [859413479] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:08,650 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:08,650 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:28:08,650 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [370471596] [2022-04-28 11:28:08,650 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:08,651 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 33 [2022-04-28 11:28:08,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:08,651 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:28:08,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:08,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:28:08,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:08,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:28:08,671 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-28 11:28:08,671 INFO L87 Difference]: Start difference. First operand 40 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:28:09,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:09,093 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2022-04-28 11:28:09,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 11:28:09,093 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) Word has length 33 [2022-04-28 11:28:09,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:09,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:28:09,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 11:28:09,097 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:28:09,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-28 11:28:09,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-04-28 11:28:09,169 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:09,171 INFO L225 Difference]: With dead ends: 57 [2022-04-28 11:28:09,171 INFO L226 Difference]: Without dead ends: 54 [2022-04-28 11:28:09,171 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 25 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-28 11:28:09,172 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 29 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 143 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 152 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 143 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:09,179 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 180 Invalid, 152 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 143 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:28:09,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-28 11:28:09,244 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 53. [2022-04-28 11:28:09,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:09,245 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:28:09,245 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:28:09,245 INFO L87 Difference]: Start difference. First operand 54 states. Second operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:28:09,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:09,248 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-28 11:28:09,248 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-28 11:28:09,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:09,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:09,249 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 54 states. [2022-04-28 11:28:09,249 INFO L87 Difference]: Start difference. First operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 54 states. [2022-04-28 11:28:09,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:09,251 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-28 11:28:09,252 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-28 11:28:09,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:09,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:09,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:09,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:09,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 30 states have internal predecessors, (33), 18 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 11:28:09,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 67 transitions. [2022-04-28 11:28:09,266 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 67 transitions. Word has length 33 [2022-04-28 11:28:09,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:09,266 INFO L495 AbstractCegarLoop]: Abstraction has 53 states and 67 transitions. [2022-04-28 11:28:09,266 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 4 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 11:28:09,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 67 transitions. [2022-04-28 11:28:09,322 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:09,323 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-28 11:28:09,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-28 11:28:09,324 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:09,324 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:09,340 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:09,529 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 11:28:09,530 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:09,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:09,530 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 1 times [2022-04-28 11:28:09,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:09,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [520863437] [2022-04-28 11:28:09,531 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:09,531 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 2 times [2022-04-28 11:28:09,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:09,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1807142714] [2022-04-28 11:28:09,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:09,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:09,545 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:09,545 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1879493345] [2022-04-28 11:28:09,545 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:09,545 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:09,545 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:09,546 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:09,549 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 11:28:09,609 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:09,609 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:09,610 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 11:28:09,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:09,623 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:09,774 INFO L272 TraceCheckUtils]: 0: Hoare triple {1125#true} call ULTIMATE.init(); {1125#true} is VALID [2022-04-28 11:28:09,774 INFO L290 TraceCheckUtils]: 1: Hoare triple {1125#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {1125#true} is VALID [2022-04-28 11:28:09,774 INFO L290 TraceCheckUtils]: 2: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-28 11:28:09,774 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1125#true} {1125#true} #98#return; {1125#true} is VALID [2022-04-28 11:28:09,774 INFO L272 TraceCheckUtils]: 4: Hoare triple {1125#true} call #t~ret6 := main(); {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {1125#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {1125#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1125#true} {1125#true} #78#return; {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L290 TraceCheckUtils]: 11: Hoare triple {1125#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1125#true} is VALID [2022-04-28 11:28:09,775 INFO L272 TraceCheckUtils]: 12: Hoare triple {1125#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1125#true} is VALID [2022-04-28 11:28:09,776 INFO L290 TraceCheckUtils]: 13: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-28 11:28:09,776 INFO L290 TraceCheckUtils]: 14: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-28 11:28:09,776 INFO L290 TraceCheckUtils]: 15: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-28 11:28:09,776 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1125#true} {1125#true} #80#return; {1125#true} is VALID [2022-04-28 11:28:09,776 INFO L272 TraceCheckUtils]: 17: Hoare triple {1125#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1125#true} is VALID [2022-04-28 11:28:09,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {1125#true} ~cond := #in~cond; {1184#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:28:09,780 INFO L290 TraceCheckUtils]: 19: Hoare triple {1184#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1188#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:09,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {1188#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1188#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:09,781 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1188#(not (= |assume_abort_if_not_#in~cond| 0))} {1125#true} #82#return; {1195#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:09,782 INFO L290 TraceCheckUtils]: 22: Hoare triple {1195#(<= 1 main_~y~0)} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1195#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:09,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {1195#(<= 1 main_~y~0)} assume !false; {1195#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:09,782 INFO L272 TraceCheckUtils]: 24: Hoare triple {1195#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1125#true} is VALID [2022-04-28 11:28:09,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-28 11:28:09,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-28 11:28:09,783 INFO L290 TraceCheckUtils]: 27: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-28 11:28:09,783 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1125#true} {1195#(<= 1 main_~y~0)} #84#return; {1195#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:09,783 INFO L272 TraceCheckUtils]: 29: Hoare triple {1195#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1125#true} is VALID [2022-04-28 11:28:09,783 INFO L290 TraceCheckUtils]: 30: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-28 11:28:09,783 INFO L290 TraceCheckUtils]: 31: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-28 11:28:09,784 INFO L290 TraceCheckUtils]: 32: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-28 11:28:09,784 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1125#true} {1195#(<= 1 main_~y~0)} #86#return; {1195#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:09,785 INFO L290 TraceCheckUtils]: 34: Hoare triple {1195#(<= 1 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1235#(and (= main_~a~0 1) (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-28 11:28:09,785 INFO L290 TraceCheckUtils]: 35: Hoare triple {1235#(and (= main_~a~0 1) (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} assume !false; {1235#(and (= main_~a~0 1) (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} is VALID [2022-04-28 11:28:09,786 INFO L272 TraceCheckUtils]: 36: Hoare triple {1235#(and (= main_~a~0 1) (= main_~b~0 main_~y~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1242#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:09,786 INFO L290 TraceCheckUtils]: 37: Hoare triple {1242#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1246#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:09,786 INFO L290 TraceCheckUtils]: 38: Hoare triple {1246#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1126#false} is VALID [2022-04-28 11:28:09,786 INFO L290 TraceCheckUtils]: 39: Hoare triple {1126#false} assume !false; {1126#false} is VALID [2022-04-28 11:28:09,787 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-28 11:28:09,787 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:28:09,787 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:09,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1807142714] [2022-04-28 11:28:09,787 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:09,787 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1879493345] [2022-04-28 11:28:09,787 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1879493345] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:09,788 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:09,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:28:09,788 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:09,788 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [520863437] [2022-04-28 11:28:09,788 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [520863437] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:09,788 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:09,788 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:28:09,788 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [524728628] [2022-04-28 11:28:09,788 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:09,789 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 11:28:09,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:09,789 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 11:28:09,811 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:09,811 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:28:09,811 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:09,812 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:28:09,812 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:28:09,812 INFO L87 Difference]: Start difference. First operand 53 states and 67 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 11:28:10,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:10,209 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-04-28 11:28:10,209 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:28:10,210 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-28 11:28:10,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:10,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 11:28:10,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-28 11:28:10,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 11:28:10,213 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2022-04-28 11:28:10,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2022-04-28 11:28:10,255 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:10,257 INFO L225 Difference]: With dead ends: 79 [2022-04-28 11:28:10,257 INFO L226 Difference]: Without dead ends: 77 [2022-04-28 11:28:10,257 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 33 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 11:28:10,258 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 20 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 159 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 188 SdHoareTripleChecker+Invalid, 161 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 159 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:10,258 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 188 Invalid, 161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 159 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:28:10,259 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-28 11:28:10,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-28 11:28:10,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:10,329 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:10,329 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:10,330 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:10,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:10,333 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-28 11:28:10,333 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-28 11:28:10,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:10,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:10,334 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 77 states. [2022-04-28 11:28:10,334 INFO L87 Difference]: Start difference. First operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 77 states. [2022-04-28 11:28:10,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:10,337 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-28 11:28:10,337 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-28 11:28:10,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:10,337 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:10,337 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:10,337 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:10,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 38 states have (on average 1.1578947368421053) internal successors, (44), 40 states have internal predecessors, (44), 25 states have call successors, (25), 7 states have call predecessors, (25), 6 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:10,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 92 transitions. [2022-04-28 11:28:10,340 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 92 transitions. Word has length 40 [2022-04-28 11:28:10,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:10,340 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 92 transitions. [2022-04-28 11:28:10,341 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-28 11:28:10,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 92 transitions. [2022-04-28 11:28:10,430 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:10,430 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 92 transitions. [2022-04-28 11:28:10,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 11:28:10,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:10,431 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:10,452 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:10,631 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:10,632 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:10,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:10,632 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 1 times [2022-04-28 11:28:10,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:10,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [195066513] [2022-04-28 11:28:10,633 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:10,633 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 2 times [2022-04-28 11:28:10,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:10,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [554581488] [2022-04-28 11:28:10,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:10,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:10,645 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:10,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1364543154] [2022-04-28 11:28:10,645 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:10,645 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:10,645 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:10,663 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:10,664 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 11:28:10,696 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:10,697 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:10,697 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 11:28:10,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:10,706 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:10,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {1708#true} call ULTIMATE.init(); {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {1708#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1708#true} {1708#true} #98#return; {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {1708#true} call #t~ret6 := main(); {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L290 TraceCheckUtils]: 5: Hoare triple {1708#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L272 TraceCheckUtils]: 6: Hoare triple {1708#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1708#true} {1708#true} #78#return; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {1708#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L272 TraceCheckUtils]: 12: Hoare triple {1708#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 13: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 14: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L290 TraceCheckUtils]: 15: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1708#true} {1708#true} #80#return; {1708#true} is VALID [2022-04-28 11:28:10,851 INFO L272 TraceCheckUtils]: 17: Hoare triple {1708#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {1708#true} ~cond := #in~cond; {1767#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:28:10,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {1767#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1771#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:10,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {1771#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1771#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:28:10,853 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1771#(not (= |assume_abort_if_not_#in~cond| 0))} {1708#true} #82#return; {1778#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:10,853 INFO L290 TraceCheckUtils]: 22: Hoare triple {1778#(<= 1 main_~y~0)} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1778#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:10,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {1778#(<= 1 main_~y~0)} assume !false; {1778#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:10,854 INFO L272 TraceCheckUtils]: 24: Hoare triple {1778#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,854 INFO L290 TraceCheckUtils]: 26: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,854 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1708#true} {1778#(<= 1 main_~y~0)} #84#return; {1778#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:10,855 INFO L272 TraceCheckUtils]: 29: Hoare triple {1778#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,855 INFO L290 TraceCheckUtils]: 30: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,855 INFO L290 TraceCheckUtils]: 31: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,855 INFO L290 TraceCheckUtils]: 32: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,855 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1708#true} {1778#(<= 1 main_~y~0)} #86#return; {1778#(<= 1 main_~y~0)} is VALID [2022-04-28 11:28:10,856 INFO L290 TraceCheckUtils]: 34: Hoare triple {1778#(<= 1 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1818#(<= 1 main_~r~0)} is VALID [2022-04-28 11:28:10,856 INFO L290 TraceCheckUtils]: 35: Hoare triple {1818#(<= 1 main_~r~0)} assume !false; {1818#(<= 1 main_~r~0)} is VALID [2022-04-28 11:28:10,856 INFO L272 TraceCheckUtils]: 36: Hoare triple {1818#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,856 INFO L290 TraceCheckUtils]: 37: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,856 INFO L290 TraceCheckUtils]: 38: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,856 INFO L290 TraceCheckUtils]: 39: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,857 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1708#true} {1818#(<= 1 main_~r~0)} #88#return; {1818#(<= 1 main_~r~0)} is VALID [2022-04-28 11:28:10,857 INFO L272 TraceCheckUtils]: 41: Hoare triple {1818#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1708#true} is VALID [2022-04-28 11:28:10,857 INFO L290 TraceCheckUtils]: 42: Hoare triple {1708#true} ~cond := #in~cond; {1708#true} is VALID [2022-04-28 11:28:10,857 INFO L290 TraceCheckUtils]: 43: Hoare triple {1708#true} assume !(0 == ~cond); {1708#true} is VALID [2022-04-28 11:28:10,857 INFO L290 TraceCheckUtils]: 44: Hoare triple {1708#true} assume true; {1708#true} is VALID [2022-04-28 11:28:10,858 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1708#true} {1818#(<= 1 main_~r~0)} #90#return; {1818#(<= 1 main_~r~0)} is VALID [2022-04-28 11:28:10,858 INFO L272 TraceCheckUtils]: 46: Hoare triple {1818#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {1855#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:10,859 INFO L290 TraceCheckUtils]: 47: Hoare triple {1855#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1859#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:10,859 INFO L290 TraceCheckUtils]: 48: Hoare triple {1859#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1709#false} is VALID [2022-04-28 11:28:10,859 INFO L290 TraceCheckUtils]: 49: Hoare triple {1709#false} assume !false; {1709#false} is VALID [2022-04-28 11:28:10,859 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 11:28:10,859 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:28:10,860 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:10,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [554581488] [2022-04-28 11:28:10,860 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:10,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1364543154] [2022-04-28 11:28:10,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1364543154] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:10,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:10,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:28:10,860 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:10,860 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [195066513] [2022-04-28 11:28:10,860 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [195066513] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:10,860 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:10,860 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:28:10,861 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474737951] [2022-04-28 11:28:10,861 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:10,861 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-28 11:28:10,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:10,861 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 11:28:10,883 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:10,883 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:28:10,883 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:10,883 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:28:10,883 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-28 11:28:10,883 INFO L87 Difference]: Start difference. First operand 70 states and 92 transitions. Second operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 11:28:11,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:11,219 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-04-28 11:28:11,219 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:28:11,219 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) Word has length 50 [2022-04-28 11:28:11,219 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:11,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 11:28:11,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:28:11,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 11:28:11,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:28:11,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 11:28:11,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:11,254 INFO L225 Difference]: With dead ends: 76 [2022-04-28 11:28:11,254 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 11:28:11,255 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 11:28:11,255 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 16 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 125 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 132 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 125 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:11,255 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [16 Valid, 160 Invalid, 132 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 125 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:28:11,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 11:28:11,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-28 11:28:11,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:11,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:11,317 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:11,317 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:11,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:11,320 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-28 11:28:11,320 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-28 11:28:11,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:11,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:11,321 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 74 states. [2022-04-28 11:28:11,321 INFO L87 Difference]: Start difference. First operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 74 states. [2022-04-28 11:28:11,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:11,324 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-28 11:28:11,324 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-28 11:28:11,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:11,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:11,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:11,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:11,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 41 states have (on average 1.146341463414634) internal successors, (47), 43 states have internal predecessors, (47), 25 states have call successors, (25), 8 states have call predecessors, (25), 7 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:11,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 95 transitions. [2022-04-28 11:28:11,327 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 95 transitions. Word has length 50 [2022-04-28 11:28:11,328 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:11,328 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 95 transitions. [2022-04-28 11:28:11,328 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.5) internal successors, (20), 7 states have internal predecessors, (20), 3 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 3 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-28 11:28:11,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 95 transitions. [2022-04-28 11:28:11,419 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:11,419 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-28 11:28:11,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-28 11:28:11,420 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:11,420 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:11,436 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:11,628 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:11,628 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:11,629 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:11,629 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 1 times [2022-04-28 11:28:11,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:11,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [969338496] [2022-04-28 11:28:11,629 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:11,629 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 2 times [2022-04-28 11:28:11,629 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:11,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1634614396] [2022-04-28 11:28:11,630 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:11,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:11,651 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:11,651 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [288719182] [2022-04-28 11:28:11,651 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:11,651 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:11,651 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:11,659 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:11,661 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 11:28:11,703 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:11,704 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:11,704 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 11:28:11,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:11,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:11,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {2319#true} call ULTIMATE.init(); {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {2319#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2319#true} {2319#true} #98#return; {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {2319#true} call #t~ret6 := main(); {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {2319#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {2319#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2319#true} {2319#true} #78#return; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 11: Hoare triple {2319#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L272 TraceCheckUtils]: 12: Hoare triple {2319#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 13: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 14: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L290 TraceCheckUtils]: 15: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2319#true} {2319#true} #80#return; {2319#true} is VALID [2022-04-28 11:28:11,892 INFO L272 TraceCheckUtils]: 17: Hoare triple {2319#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2319#true} {2319#true} #82#return; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 22: Hoare triple {2319#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {2319#true} assume !false; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L272 TraceCheckUtils]: 24: Hoare triple {2319#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 25: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 26: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L290 TraceCheckUtils]: 27: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,893 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2319#true} {2319#true} #84#return; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L272 TraceCheckUtils]: 29: Hoare triple {2319#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2319#true} {2319#true} #86#return; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 34: Hoare triple {2319#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 35: Hoare triple {2319#true} assume !false; {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L272 TraceCheckUtils]: 36: Hoare triple {2319#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {2319#true} ~cond := #in~cond; {2435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:11,895 INFO L290 TraceCheckUtils]: 38: Hoare triple {2435#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:28:11,895 INFO L290 TraceCheckUtils]: 39: Hoare triple {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:28:11,896 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} {2319#true} #88#return; {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-28 11:28:11,896 INFO L272 TraceCheckUtils]: 41: Hoare triple {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,896 INFO L290 TraceCheckUtils]: 42: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,896 INFO L290 TraceCheckUtils]: 43: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,896 INFO L290 TraceCheckUtils]: 44: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,897 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2319#true} {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} #90#return; {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-28 11:28:11,897 INFO L272 TraceCheckUtils]: 46: Hoare triple {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:11,897 INFO L290 TraceCheckUtils]: 47: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:11,897 INFO L290 TraceCheckUtils]: 48: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:11,897 INFO L290 TraceCheckUtils]: 49: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:11,898 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2319#true} {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} #92#return; {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-28 11:28:11,898 INFO L290 TraceCheckUtils]: 51: Hoare triple {2446#(= main_~b~0 (* main_~a~0 main_~y~0))} assume !!(~r~0 >= 2 * ~b~0); {2480#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-28 11:28:11,899 INFO L272 TraceCheckUtils]: 52: Hoare triple {2480#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {2484#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:11,899 INFO L290 TraceCheckUtils]: 53: Hoare triple {2484#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2488#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:11,899 INFO L290 TraceCheckUtils]: 54: Hoare triple {2488#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2320#false} is VALID [2022-04-28 11:28:11,899 INFO L290 TraceCheckUtils]: 55: Hoare triple {2320#false} assume !false; {2320#false} is VALID [2022-04-28 11:28:11,900 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 15 proven. 7 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 11:28:11,900 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:28:14,862 INFO L290 TraceCheckUtils]: 55: Hoare triple {2320#false} assume !false; {2320#false} is VALID [2022-04-28 11:28:14,864 INFO L290 TraceCheckUtils]: 54: Hoare triple {2488#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2320#false} is VALID [2022-04-28 11:28:14,865 INFO L290 TraceCheckUtils]: 53: Hoare triple {2484#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2488#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:14,866 INFO L272 TraceCheckUtils]: 52: Hoare triple {2480#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {2484#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:14,867 INFO L290 TraceCheckUtils]: 51: Hoare triple {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} assume !!(~r~0 >= 2 * ~b~0); {2480#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-28 11:28:14,888 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2319#true} {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #92#return; {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-28 11:28:14,888 INFO L290 TraceCheckUtils]: 49: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,888 INFO L290 TraceCheckUtils]: 48: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,888 INFO L290 TraceCheckUtils]: 47: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,888 INFO L272 TraceCheckUtils]: 46: Hoare triple {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,889 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2319#true} {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #90#return; {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-28 11:28:14,889 INFO L290 TraceCheckUtils]: 44: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,889 INFO L290 TraceCheckUtils]: 43: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,889 INFO L272 TraceCheckUtils]: 41: Hoare triple {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,890 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} {2319#true} #88#return; {2507#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-28 11:28:14,890 INFO L290 TraceCheckUtils]: 39: Hoare triple {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:28:14,891 INFO L290 TraceCheckUtils]: 38: Hoare triple {2550#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2439#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:28:14,891 INFO L290 TraceCheckUtils]: 37: Hoare triple {2319#true} ~cond := #in~cond; {2550#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:28:14,891 INFO L272 TraceCheckUtils]: 36: Hoare triple {2319#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {2319#true} assume !false; {2319#true} is VALID [2022-04-28 11:28:14,891 INFO L290 TraceCheckUtils]: 34: Hoare triple {2319#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2319#true} is VALID [2022-04-28 11:28:14,891 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2319#true} {2319#true} #86#return; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L272 TraceCheckUtils]: 29: Hoare triple {2319#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2319#true} {2319#true} #84#return; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 27: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 26: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L272 TraceCheckUtils]: 24: Hoare triple {2319#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 23: Hoare triple {2319#true} assume !false; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L290 TraceCheckUtils]: 22: Hoare triple {2319#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2319#true} is VALID [2022-04-28 11:28:14,892 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2319#true} {2319#true} #82#return; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 20: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 19: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 18: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L272 TraceCheckUtils]: 17: Hoare triple {2319#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2319#true} {2319#true} #80#return; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 14: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 13: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L272 TraceCheckUtils]: 12: Hoare triple {2319#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 11: Hoare triple {2319#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2319#true} {2319#true} #78#return; {2319#true} is VALID [2022-04-28 11:28:14,893 INFO L290 TraceCheckUtils]: 9: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {2319#true} assume !(0 == ~cond); {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {2319#true} ~cond := #in~cond; {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L272 TraceCheckUtils]: 6: Hoare triple {2319#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {2319#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L272 TraceCheckUtils]: 4: Hoare triple {2319#true} call #t~ret6 := main(); {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2319#true} {2319#true} #98#return; {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L290 TraceCheckUtils]: 2: Hoare triple {2319#true} assume true; {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L290 TraceCheckUtils]: 1: Hoare triple {2319#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {2319#true} is VALID [2022-04-28 11:28:14,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {2319#true} call ULTIMATE.init(); {2319#true} is VALID [2022-04-28 11:28:14,895 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 15 proven. 7 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-28 11:28:14,895 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:14,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1634614396] [2022-04-28 11:28:14,895 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:14,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [288719182] [2022-04-28 11:28:14,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [288719182] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:28:14,895 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:28:14,895 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 11:28:14,895 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:14,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [969338496] [2022-04-28 11:28:14,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [969338496] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:14,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:14,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 11:28:14,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [897354894] [2022-04-28 11:28:14,896 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:14,896 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 11:28:14,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:14,896 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 11:28:14,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:14,936 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 11:28:14,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:14,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 11:28:14,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 11:28:14,937 INFO L87 Difference]: Start difference. First operand 74 states and 95 transitions. Second operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 11:28:15,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:15,303 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2022-04-28 11:28:15,303 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:28:15,303 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-28 11:28:15,304 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:15,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 11:28:15,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:28:15,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 11:28:15,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-28 11:28:15,306 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-28 11:28:15,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:15,341 INFO L225 Difference]: With dead ends: 80 [2022-04-28 11:28:15,341 INFO L226 Difference]: Without dead ends: 78 [2022-04-28 11:28:15,341 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 102 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-04-28 11:28:15,342 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 17 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 138 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:15,342 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 141 Invalid, 138 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:28:15,342 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-28 11:28:15,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2022-04-28 11:28:15,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:15,410 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:15,410 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:15,411 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:15,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:15,413 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-28 11:28:15,413 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-28 11:28:15,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:15,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:15,414 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-04-28 11:28:15,414 INFO L87 Difference]: Start difference. First operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) Second operand 78 states. [2022-04-28 11:28:15,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:15,416 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-28 11:28:15,416 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-28 11:28:15,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:15,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:15,416 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:15,416 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:15,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 25 states have call successors, (25), 9 states have call predecessors, (25), 8 states have return successors, (23), 22 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-28 11:28:15,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 98 transitions. [2022-04-28 11:28:15,419 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 98 transitions. Word has length 56 [2022-04-28 11:28:15,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:15,419 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 98 transitions. [2022-04-28 11:28:15,419 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.0) internal successors, (21), 6 states have internal predecessors, (21), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 11:28:15,419 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 98 transitions. [2022-04-28 11:28:15,513 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:15,514 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-28 11:28:15,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-28 11:28:15,514 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:15,514 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:15,554 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:15,714 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:15,715 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:15,715 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:15,715 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 1 times [2022-04-28 11:28:15,715 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:15,715 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [366256388] [2022-04-28 11:28:15,716 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:15,716 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 2 times [2022-04-28 11:28:15,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:15,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [728847055] [2022-04-28 11:28:15,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:15,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:15,727 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:15,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1562673840] [2022-04-28 11:28:15,727 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:15,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:15,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:15,730 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:15,731 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 11:28:15,772 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:15,773 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:15,773 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 11:28:15,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:15,782 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:28:16,019 INFO L272 TraceCheckUtils]: 0: Hoare triple {3142#true} call ULTIMATE.init(); {3142#true} is VALID [2022-04-28 11:28:16,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {3142#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 2: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3142#true} {3142#true} #98#return; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L272 TraceCheckUtils]: 4: Hoare triple {3142#true} call #t~ret6 := main(); {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 5: Hoare triple {3142#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L272 TraceCheckUtils]: 6: Hoare triple {3142#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 8: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 9: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3142#true} {3142#true} #78#return; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 11: Hoare triple {3142#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L272 TraceCheckUtils]: 12: Hoare triple {3142#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,020 INFO L290 TraceCheckUtils]: 13: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L290 TraceCheckUtils]: 14: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L290 TraceCheckUtils]: 15: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3142#true} {3142#true} #80#return; {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L272 TraceCheckUtils]: 17: Hoare triple {3142#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L290 TraceCheckUtils]: 18: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L290 TraceCheckUtils]: 19: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L290 TraceCheckUtils]: 20: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,021 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3142#true} {3142#true} #82#return; {3142#true} is VALID [2022-04-28 11:28:16,022 INFO L290 TraceCheckUtils]: 22: Hoare triple {3142#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,022 INFO L290 TraceCheckUtils]: 23: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,022 INFO L272 TraceCheckUtils]: 24: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,022 INFO L290 TraceCheckUtils]: 25: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,023 INFO L290 TraceCheckUtils]: 26: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,024 INFO L290 TraceCheckUtils]: 27: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,025 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3142#true} {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,025 INFO L272 TraceCheckUtils]: 29: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,025 INFO L290 TraceCheckUtils]: 30: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,025 INFO L290 TraceCheckUtils]: 31: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,025 INFO L290 TraceCheckUtils]: 32: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,026 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3142#true} {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,026 INFO L290 TraceCheckUtils]: 34: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,026 INFO L272 TraceCheckUtils]: 36: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,027 INFO L290 TraceCheckUtils]: 37: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,027 INFO L290 TraceCheckUtils]: 38: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,027 INFO L290 TraceCheckUtils]: 39: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,027 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3142#true} {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,027 INFO L272 TraceCheckUtils]: 41: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,027 INFO L290 TraceCheckUtils]: 42: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L290 TraceCheckUtils]: 43: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L290 TraceCheckUtils]: 44: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3142#true} {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,028 INFO L272 TraceCheckUtils]: 46: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L290 TraceCheckUtils]: 47: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L290 TraceCheckUtils]: 48: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,028 INFO L290 TraceCheckUtils]: 49: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,029 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3142#true} {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,029 INFO L290 TraceCheckUtils]: 51: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~r~0 >= 2 * ~b~0); {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:16,030 INFO L290 TraceCheckUtils]: 52: Hoare triple {3250#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 11:28:16,030 INFO L290 TraceCheckUtils]: 53: Hoare triple {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} assume !false; {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 11:28:16,031 INFO L272 TraceCheckUtils]: 54: Hoare triple {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:16,031 INFO L290 TraceCheckUtils]: 55: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:16,031 INFO L290 TraceCheckUtils]: 56: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:16,031 INFO L290 TraceCheckUtils]: 57: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:16,031 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3142#true} {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} #84#return; {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 11:28:16,032 INFO L272 TraceCheckUtils]: 59: Hoare triple {3305#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:16,032 INFO L290 TraceCheckUtils]: 60: Hoare triple {3327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:16,033 INFO L290 TraceCheckUtils]: 61: Hoare triple {3331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3143#false} is VALID [2022-04-28 11:28:16,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {3143#false} assume !false; {3143#false} is VALID [2022-04-28 11:28:16,034 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 11:28:16,034 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:28:34,433 INFO L290 TraceCheckUtils]: 62: Hoare triple {3143#false} assume !false; {3143#false} is VALID [2022-04-28 11:28:34,433 INFO L290 TraceCheckUtils]: 61: Hoare triple {3331#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3143#false} is VALID [2022-04-28 11:28:34,433 INFO L290 TraceCheckUtils]: 60: Hoare triple {3327#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3331#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:28:34,434 INFO L272 TraceCheckUtils]: 59: Hoare triple {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3327#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:28:34,435 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3142#true} {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #84#return; {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:28:34,435 INFO L290 TraceCheckUtils]: 57: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,435 INFO L290 TraceCheckUtils]: 56: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,435 INFO L290 TraceCheckUtils]: 55: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,435 INFO L272 TraceCheckUtils]: 54: Hoare triple {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,435 INFO L290 TraceCheckUtils]: 53: Hoare triple {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !false; {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:28:34,443 INFO L290 TraceCheckUtils]: 52: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {3347#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:28:34,443 INFO L290 TraceCheckUtils]: 51: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} assume !(~r~0 >= 2 * ~b~0); {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,444 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3142#true} {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #92#return; {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,444 INFO L290 TraceCheckUtils]: 49: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,444 INFO L290 TraceCheckUtils]: 48: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,444 INFO L290 TraceCheckUtils]: 47: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,444 INFO L272 TraceCheckUtils]: 46: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,445 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3142#true} {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #90#return; {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,445 INFO L290 TraceCheckUtils]: 44: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,445 INFO L290 TraceCheckUtils]: 43: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,445 INFO L290 TraceCheckUtils]: 42: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,445 INFO L272 TraceCheckUtils]: 41: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,446 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3142#true} {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #88#return; {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,446 INFO L290 TraceCheckUtils]: 39: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,446 INFO L290 TraceCheckUtils]: 38: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,446 INFO L290 TraceCheckUtils]: 37: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,446 INFO L272 TraceCheckUtils]: 36: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,446 INFO L290 TraceCheckUtils]: 35: Hoare triple {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} assume !false; {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,447 INFO L290 TraceCheckUtils]: 34: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3369#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-28 11:28:34,447 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3142#true} {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:34,447 INFO L290 TraceCheckUtils]: 32: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,447 INFO L290 TraceCheckUtils]: 31: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,447 INFO L290 TraceCheckUtils]: 30: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,448 INFO L272 TraceCheckUtils]: 29: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,448 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3142#true} {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:34,448 INFO L290 TraceCheckUtils]: 27: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,448 INFO L290 TraceCheckUtils]: 26: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,448 INFO L290 TraceCheckUtils]: 25: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,449 INFO L272 TraceCheckUtils]: 24: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,449 INFO L290 TraceCheckUtils]: 23: Hoare triple {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:34,449 INFO L290 TraceCheckUtils]: 22: Hoare triple {3142#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3213#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:28:34,449 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3142#true} {3142#true} #82#return; {3142#true} is VALID [2022-04-28 11:28:34,449 INFO L290 TraceCheckUtils]: 20: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 18: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L272 TraceCheckUtils]: 17: Hoare triple {3142#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3142#true} {3142#true} #80#return; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 15: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 14: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 13: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L272 TraceCheckUtils]: 12: Hoare triple {3142#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 11: Hoare triple {3142#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3142#true} {3142#true} #78#return; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 9: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 8: Hoare triple {3142#true} assume !(0 == ~cond); {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L290 TraceCheckUtils]: 7: Hoare triple {3142#true} ~cond := #in~cond; {3142#true} is VALID [2022-04-28 11:28:34,450 INFO L272 TraceCheckUtils]: 6: Hoare triple {3142#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L290 TraceCheckUtils]: 5: Hoare triple {3142#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L272 TraceCheckUtils]: 4: Hoare triple {3142#true} call #t~ret6 := main(); {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3142#true} {3142#true} #98#return; {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {3142#true} assume true; {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {3142#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L272 TraceCheckUtils]: 0: Hoare triple {3142#true} call ULTIMATE.init(); {3142#true} is VALID [2022-04-28 11:28:34,451 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 11:28:34,451 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:28:34,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [728847055] [2022-04-28 11:28:34,451 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:28:34,451 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1562673840] [2022-04-28 11:28:34,452 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1562673840] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:28:34,452 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:28:34,452 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-28 11:28:34,452 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:28:34,452 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [366256388] [2022-04-28 11:28:34,452 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [366256388] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:28:34,452 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:28:34,452 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 11:28:34,452 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [355411858] [2022-04-28 11:28:34,452 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:28:34,453 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 11:28:34,453 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:28:34,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 11:28:34,482 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:34,483 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 11:28:34,483 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:34,483 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 11:28:34,483 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-28 11:28:34,483 INFO L87 Difference]: Start difference. First operand 78 states and 98 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 11:28:35,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:35,032 INFO L93 Difference]: Finished difference Result 111 states and 142 transitions. [2022-04-28 11:28:35,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 11:28:35,032 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-28 11:28:35,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:28:35,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 11:28:35,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-28 11:28:35,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 11:28:35,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-28 11:28:35,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-28 11:28:35,101 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:35,103 INFO L225 Difference]: With dead ends: 111 [2022-04-28 11:28:35,103 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 11:28:35,103 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 11:28:35,105 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 19 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 186 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 222 SdHoareTripleChecker+Invalid, 196 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 186 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:28:35,105 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 222 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 186 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:28:35,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 11:28:35,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 103. [2022-04-28 11:28:35,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:28:35,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 11:28:35,206 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 11:28:35,206 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 11:28:35,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:35,210 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-28 11:28:35,210 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-28 11:28:35,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:35,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:35,211 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 108 states. [2022-04-28 11:28:35,212 INFO L87 Difference]: Start difference. First operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) Second operand 108 states. [2022-04-28 11:28:35,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:28:35,215 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-28 11:28:35,215 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-28 11:28:35,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:28:35,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:28:35,216 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:28:35,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:28:35,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 58 states have (on average 1.1379310344827587) internal successors, (66), 60 states have internal predecessors, (66), 34 states have call successors, (34), 11 states have call predecessors, (34), 10 states have return successors, (32), 31 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 11:28:35,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 132 transitions. [2022-04-28 11:28:35,219 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 132 transitions. Word has length 63 [2022-04-28 11:28:35,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:28:35,219 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 132 transitions. [2022-04-28 11:28:35,219 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 11:28:35,220 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 132 transitions. [2022-04-28 11:28:35,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 132 edges. 132 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:28:35,351 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 132 transitions. [2022-04-28 11:28:35,352 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 11:28:35,352 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:28:35,352 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:28:35,370 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 11:28:35,552 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:35,552 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:28:35,553 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:28:35,553 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 1 times [2022-04-28 11:28:35,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:28:35,553 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [539661988] [2022-04-28 11:28:35,553 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:28:35,553 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 2 times [2022-04-28 11:28:35,553 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:28:35,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [58688453] [2022-04-28 11:28:35,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:28:35,554 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:28:35,574 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:28:35,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [260833709] [2022-04-28 11:28:35,574 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 11:28:35,574 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:28:35,574 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:28:35,588 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:28:35,603 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 11:28:35,645 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 11:28:35,645 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:28:35,646 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-28 11:28:35,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:28:35,658 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:29:37,472 INFO L272 TraceCheckUtils]: 0: Hoare triple {4174#true} call ULTIMATE.init(); {4174#true} is VALID [2022-04-28 11:29:37,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {4174#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {4174#true} is VALID [2022-04-28 11:29:37,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,472 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4174#true} {4174#true} #98#return; {4174#true} is VALID [2022-04-28 11:29:37,472 INFO L272 TraceCheckUtils]: 4: Hoare triple {4174#true} call #t~ret6 := main(); {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 5: Hoare triple {4174#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L272 TraceCheckUtils]: 6: Hoare triple {4174#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4174#true} {4174#true} #78#return; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 11: Hoare triple {4174#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L272 TraceCheckUtils]: 12: Hoare triple {4174#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L290 TraceCheckUtils]: 15: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,473 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4174#true} {4174#true} #80#return; {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L272 TraceCheckUtils]: 17: Hoare triple {4174#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4174#true} {4174#true} #82#return; {4174#true} is VALID [2022-04-28 11:29:37,474 INFO L290 TraceCheckUtils]: 22: Hoare triple {4174#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,474 INFO L290 TraceCheckUtils]: 23: Hoare triple {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,475 INFO L272 TraceCheckUtils]: 24: Hoare triple {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,475 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4174#true} {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,476 INFO L272 TraceCheckUtils]: 29: Hoare triple {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,476 INFO L290 TraceCheckUtils]: 32: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,476 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4174#true} {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {4245#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {4282#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {4282#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4282#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,477 INFO L272 TraceCheckUtils]: 36: Hoare triple {4282#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,477 INFO L290 TraceCheckUtils]: 37: Hoare triple {4174#true} ~cond := #in~cond; {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:29:37,479 INFO L290 TraceCheckUtils]: 38: Hoare triple {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,480 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} {4282#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-28 11:29:37,480 INFO L272 TraceCheckUtils]: 41: Hoare triple {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,480 INFO L290 TraceCheckUtils]: 42: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,480 INFO L290 TraceCheckUtils]: 43: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,480 INFO L290 TraceCheckUtils]: 44: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,481 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4174#true} {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #90#return; {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-28 11:29:37,481 INFO L272 TraceCheckUtils]: 46: Hoare triple {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,481 INFO L290 TraceCheckUtils]: 47: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,481 INFO L290 TraceCheckUtils]: 48: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,481 INFO L290 TraceCheckUtils]: 49: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,482 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4174#true} {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #92#return; {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-28 11:29:37,482 INFO L290 TraceCheckUtils]: 51: Hoare triple {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} assume !!(~r~0 >= 2 * ~b~0); {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-28 11:29:37,482 INFO L272 TraceCheckUtils]: 52: Hoare triple {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,483 INFO L290 TraceCheckUtils]: 53: Hoare triple {4174#true} ~cond := #in~cond; {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:29:37,483 INFO L290 TraceCheckUtils]: 54: Hoare triple {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,483 INFO L290 TraceCheckUtils]: 55: Hoare triple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,484 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} {4303#(and (= main_~x~0 main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #94#return; {4352#(and (= main_~x~0 main_~r~0) (<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-28 11:29:37,487 INFO L290 TraceCheckUtils]: 57: Hoare triple {4352#(and (= main_~x~0 main_~r~0) (<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0) (<= 1 main_~a~0) (<= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} is VALID [2022-04-28 11:29:37,487 INFO L290 TraceCheckUtils]: 58: Hoare triple {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} assume !false; {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} is VALID [2022-04-28 11:29:37,487 INFO L272 TraceCheckUtils]: 59: Hoare triple {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,487 INFO L290 TraceCheckUtils]: 60: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,487 INFO L290 TraceCheckUtils]: 61: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,487 INFO L290 TraceCheckUtils]: 62: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,488 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4174#true} {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} #88#return; {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} is VALID [2022-04-28 11:29:37,488 INFO L272 TraceCheckUtils]: 64: Hoare triple {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,488 INFO L290 TraceCheckUtils]: 65: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,488 INFO L290 TraceCheckUtils]: 66: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,488 INFO L290 TraceCheckUtils]: 67: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,489 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4174#true} {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} #90#return; {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} is VALID [2022-04-28 11:29:37,489 INFO L272 TraceCheckUtils]: 69: Hoare triple {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,489 INFO L290 TraceCheckUtils]: 70: Hoare triple {4174#true} ~cond := #in~cond; {4174#true} is VALID [2022-04-28 11:29:37,489 INFO L290 TraceCheckUtils]: 71: Hoare triple {4174#true} assume !(0 == ~cond); {4174#true} is VALID [2022-04-28 11:29:37,489 INFO L290 TraceCheckUtils]: 72: Hoare triple {4174#true} assume true; {4174#true} is VALID [2022-04-28 11:29:37,490 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4174#true} {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} #92#return; {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} is VALID [2022-04-28 11:29:37,491 INFO L290 TraceCheckUtils]: 74: Hoare triple {4356#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0) (<= 1 (div main_~a~0 2)))} assume !(~r~0 >= 2 * ~b~0); {4408#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (< main_~r~0 (* main_~b~0 2)) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-28 11:29:37,492 INFO L290 TraceCheckUtils]: 75: Hoare triple {4408#(and (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (= main_~x~0 main_~r~0) (< main_~r~0 (* main_~b~0 2)) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~r~0) (= main_~q~0 0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {4412#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0))} is VALID [2022-04-28 11:29:37,493 INFO L290 TraceCheckUtils]: 76: Hoare triple {4412#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0))} assume !false; {4412#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0))} is VALID [2022-04-28 11:29:37,493 INFO L272 TraceCheckUtils]: 77: Hoare triple {4412#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4174#true} is VALID [2022-04-28 11:29:37,493 INFO L290 TraceCheckUtils]: 78: Hoare triple {4174#true} ~cond := #in~cond; {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:29:37,494 INFO L290 TraceCheckUtils]: 79: Hoare triple {4292#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,494 INFO L290 TraceCheckUtils]: 80: Hoare triple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:29:37,498 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4296#(not (= |__VERIFIER_assert_#in~cond| 0))} {4412#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= (mod main_~a~0 2) 0) (<= main_~b~0 (* (* main_~y~0 (div main_~a~0 2)) 2)) (<= (* main_~y~0 (div main_~a~0 2)) main_~y~0) (<= (* (* main_~y~0 (div main_~a~0 2)) 2) main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0))} #84#return; {4431#(and (<= (* main_~y~0 (div main_~q~0 2)) main_~y~0) (<= (* 2 (* main_~y~0 (div main_~q~0 2))) main_~x~0) (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (< main_~x~0 (* (* main_~q~0 main_~y~0) 2)) (= (mod main_~q~0 2) 0))} is VALID [2022-04-28 11:29:37,499 INFO L272 TraceCheckUtils]: 82: Hoare triple {4431#(and (<= (* main_~y~0 (div main_~q~0 2)) main_~y~0) (<= (* 2 (* main_~y~0 (div main_~q~0 2))) main_~x~0) (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (< main_~x~0 (* (* main_~q~0 main_~y~0) 2)) (= (mod main_~q~0 2) 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4435#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:29:37,500 INFO L290 TraceCheckUtils]: 83: Hoare triple {4435#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4439#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:29:37,500 INFO L290 TraceCheckUtils]: 84: Hoare triple {4439#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4175#false} is VALID [2022-04-28 11:29:37,500 INFO L290 TraceCheckUtils]: 85: Hoare triple {4175#false} assume !false; {4175#false} is VALID [2022-04-28 11:29:37,500 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 56 proven. 35 refuted. 0 times theorem prover too weak. 129 trivial. 0 not checked. [2022-04-28 11:29:37,501 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:30:43,865 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:30:43,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [58688453] [2022-04-28 11:30:43,865 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:30:43,865 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [260833709] [2022-04-28 11:30:43,865 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [260833709] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 11:30:43,865 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 11:30:43,865 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-28 11:30:43,865 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:30:43,866 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [539661988] [2022-04-28 11:30:43,866 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [539661988] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:30:43,866 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:30:43,866 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:30:43,866 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [379050403] [2022-04-28 11:30:43,866 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:30:43,866 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 11:30:43,867 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:30:43,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 11:30:43,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:43,916 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:30:43,916 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:30:43,917 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:30:43,917 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=117, Invalid=345, Unknown=0, NotChecked=0, Total=462 [2022-04-28 11:30:43,917 INFO L87 Difference]: Start difference. First operand 103 states and 132 transitions. Second operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 11:30:47,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:47,052 INFO L93 Difference]: Finished difference Result 147 states and 191 transitions. [2022-04-28 11:30:47,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:30:47,053 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 86 [2022-04-28 11:30:47,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:30:47,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 11:30:47,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 114 transitions. [2022-04-28 11:30:47,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 11:30:47,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 114 transitions. [2022-04-28 11:30:47,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 114 transitions. [2022-04-28 11:30:47,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:47,154 INFO L225 Difference]: With dead ends: 147 [2022-04-28 11:30:47,154 INFO L226 Difference]: Without dead ends: 144 [2022-04-28 11:30:47,154 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 141 GetRequests, 116 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=140, Invalid=460, Unknown=0, NotChecked=0, Total=600 [2022-04-28 11:30:47,154 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 28 mSDsluCounter, 222 mSDsCounter, 0 mSdLazyCounter, 643 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 38 SdHoareTripleChecker+Valid, 266 SdHoareTripleChecker+Invalid, 672 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 643 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 11:30:47,155 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [38 Valid, 266 Invalid, 672 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 643 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 11:30:47,155 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-28 11:30:47,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 139. [2022-04-28 11:30:47,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:30:47,296 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 11:30:47,296 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 11:30:47,297 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 11:30:47,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:47,307 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-28 11:30:47,307 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-28 11:30:47,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:30:47,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:30:47,309 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) Second operand 144 states. [2022-04-28 11:30:47,309 INFO L87 Difference]: Start difference. First operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) Second operand 144 states. [2022-04-28 11:30:47,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:47,312 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-28 11:30:47,313 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-28 11:30:47,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:30:47,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:30:47,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:30:47,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:30:47,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 78 states have (on average 1.141025641025641) internal successors, (89), 80 states have internal predecessors, (89), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (45), 44 states have call predecessors, (45), 45 states have call successors, (45) [2022-04-28 11:30:47,317 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 181 transitions. [2022-04-28 11:30:47,317 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 181 transitions. Word has length 86 [2022-04-28 11:30:47,317 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:30:47,317 INFO L495 AbstractCegarLoop]: Abstraction has 139 states and 181 transitions. [2022-04-28 11:30:47,318 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 2.0) internal successors, (26), 11 states have internal predecessors, (26), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 11:30:47,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 139 states and 181 transitions. [2022-04-28 11:30:47,535 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 181 edges. 181 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:47,535 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 181 transitions. [2022-04-28 11:30:47,536 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-28 11:30:47,536 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:30:47,536 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:30:47,552 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-28 11:30:47,736 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:30:47,737 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:30:47,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:30:47,737 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 3 times [2022-04-28 11:30:47,737 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:30:47,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1180322015] [2022-04-28 11:30:47,738 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:30:47,738 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 4 times [2022-04-28 11:30:47,738 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:30:47,738 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1894318865] [2022-04-28 11:30:47,738 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:30:47,738 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:30:47,759 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:30:47,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1919719442] [2022-04-28 11:30:47,760 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:30:47,760 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:30:47,760 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:30:47,761 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:30:47,761 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 11:30:47,801 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:30:47,801 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:30:47,801 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 11:30:47,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:30:47,811 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:30:48,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {5478#true} call ULTIMATE.init(); {5478#true} is VALID [2022-04-28 11:30:48,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {5478#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {5478#true} is VALID [2022-04-28 11:30:48,040 INFO L290 TraceCheckUtils]: 2: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,040 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5478#true} {5478#true} #98#return; {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {5478#true} call #t~ret6 := main(); {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {5478#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {5478#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5478#true} {5478#true} #78#return; {5478#true} is VALID [2022-04-28 11:30:48,041 INFO L290 TraceCheckUtils]: 11: Hoare triple {5478#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5478#true} is VALID [2022-04-28 11:30:48,042 INFO L272 TraceCheckUtils]: 12: Hoare triple {5478#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L290 TraceCheckUtils]: 14: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5478#true} {5478#true} #80#return; {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L272 TraceCheckUtils]: 17: Hoare triple {5478#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L290 TraceCheckUtils]: 18: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L290 TraceCheckUtils]: 19: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,043 INFO L290 TraceCheckUtils]: 20: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5478#true} {5478#true} #82#return; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 22: Hoare triple {5478#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {5478#true} assume !false; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L272 TraceCheckUtils]: 24: Hoare triple {5478#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5478#true} {5478#true} #84#return; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L272 TraceCheckUtils]: 29: Hoare triple {5478#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L290 TraceCheckUtils]: 32: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,044 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5478#true} {5478#true} #86#return; {5478#true} is VALID [2022-04-28 11:30:48,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {5478#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5585#(<= main_~b~0 main_~y~0)} is VALID [2022-04-28 11:30:48,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {5585#(<= main_~b~0 main_~y~0)} assume !false; {5585#(<= main_~b~0 main_~y~0)} is VALID [2022-04-28 11:30:48,045 INFO L272 TraceCheckUtils]: 36: Hoare triple {5585#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L290 TraceCheckUtils]: 38: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L290 TraceCheckUtils]: 39: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5478#true} {5585#(<= main_~b~0 main_~y~0)} #88#return; {5585#(<= main_~b~0 main_~y~0)} is VALID [2022-04-28 11:30:48,046 INFO L272 TraceCheckUtils]: 41: Hoare triple {5585#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L290 TraceCheckUtils]: 42: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L290 TraceCheckUtils]: 43: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,046 INFO L290 TraceCheckUtils]: 44: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,047 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5478#true} {5585#(<= main_~b~0 main_~y~0)} #90#return; {5585#(<= main_~b~0 main_~y~0)} is VALID [2022-04-28 11:30:48,047 INFO L272 TraceCheckUtils]: 46: Hoare triple {5585#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,047 INFO L290 TraceCheckUtils]: 47: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,047 INFO L290 TraceCheckUtils]: 48: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,047 INFO L290 TraceCheckUtils]: 49: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,048 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5478#true} {5585#(<= main_~b~0 main_~y~0)} #92#return; {5585#(<= main_~b~0 main_~y~0)} is VALID [2022-04-28 11:30:48,048 INFO L290 TraceCheckUtils]: 51: Hoare triple {5585#(<= main_~b~0 main_~y~0)} assume !(~r~0 >= 2 * ~b~0); {5637#(and (not (<= (* main_~b~0 2) main_~r~0)) (<= main_~b~0 main_~y~0))} is VALID [2022-04-28 11:30:48,049 INFO L290 TraceCheckUtils]: 52: Hoare triple {5637#(and (not (<= (* main_~b~0 2) main_~r~0)) (<= main_~b~0 main_~y~0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {5641#(< main_~r~0 main_~y~0)} is VALID [2022-04-28 11:30:48,049 INFO L290 TraceCheckUtils]: 53: Hoare triple {5641#(< main_~r~0 main_~y~0)} assume !false; {5641#(< main_~r~0 main_~y~0)} is VALID [2022-04-28 11:30:48,049 INFO L272 TraceCheckUtils]: 54: Hoare triple {5641#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,049 INFO L290 TraceCheckUtils]: 55: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L290 TraceCheckUtils]: 56: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L290 TraceCheckUtils]: 57: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5478#true} {5641#(< main_~r~0 main_~y~0)} #84#return; {5641#(< main_~r~0 main_~y~0)} is VALID [2022-04-28 11:30:48,050 INFO L272 TraceCheckUtils]: 59: Hoare triple {5641#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L290 TraceCheckUtils]: 60: Hoare triple {5478#true} ~cond := #in~cond; {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L290 TraceCheckUtils]: 61: Hoare triple {5478#true} assume !(0 == ~cond); {5478#true} is VALID [2022-04-28 11:30:48,050 INFO L290 TraceCheckUtils]: 62: Hoare triple {5478#true} assume true; {5478#true} is VALID [2022-04-28 11:30:48,051 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5478#true} {5641#(< main_~r~0 main_~y~0)} #86#return; {5641#(< main_~r~0 main_~y~0)} is VALID [2022-04-28 11:30:48,051 INFO L290 TraceCheckUtils]: 64: Hoare triple {5641#(< main_~r~0 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5479#false} is VALID [2022-04-28 11:30:48,051 INFO L290 TraceCheckUtils]: 65: Hoare triple {5479#false} assume !false; {5479#false} is VALID [2022-04-28 11:30:48,051 INFO L272 TraceCheckUtils]: 66: Hoare triple {5479#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 67: Hoare triple {5479#false} ~cond := #in~cond; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 68: Hoare triple {5479#false} assume !(0 == ~cond); {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 69: Hoare triple {5479#false} assume true; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5479#false} {5479#false} #88#return; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L272 TraceCheckUtils]: 71: Hoare triple {5479#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 72: Hoare triple {5479#false} ~cond := #in~cond; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 73: Hoare triple {5479#false} assume !(0 == ~cond); {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 74: Hoare triple {5479#false} assume true; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5479#false} {5479#false} #90#return; {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L272 TraceCheckUtils]: 76: Hoare triple {5479#false} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5479#false} is VALID [2022-04-28 11:30:48,052 INFO L290 TraceCheckUtils]: 77: Hoare triple {5479#false} ~cond := #in~cond; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 78: Hoare triple {5479#false} assume !(0 == ~cond); {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 79: Hoare triple {5479#false} assume true; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5479#false} {5479#false} #92#return; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 81: Hoare triple {5479#false} assume !(~r~0 >= 2 * ~b~0); {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 82: Hoare triple {5479#false} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 83: Hoare triple {5479#false} assume !false; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L272 TraceCheckUtils]: 84: Hoare triple {5479#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 85: Hoare triple {5479#false} ~cond := #in~cond; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 86: Hoare triple {5479#false} assume !(0 == ~cond); {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 87: Hoare triple {5479#false} assume true; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {5479#false} {5479#false} #84#return; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L272 TraceCheckUtils]: 89: Hoare triple {5479#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 90: Hoare triple {5479#false} ~cond := #in~cond; {5479#false} is VALID [2022-04-28 11:30:48,053 INFO L290 TraceCheckUtils]: 91: Hoare triple {5479#false} assume 0 == ~cond; {5479#false} is VALID [2022-04-28 11:30:48,054 INFO L290 TraceCheckUtils]: 92: Hoare triple {5479#false} assume !false; {5479#false} is VALID [2022-04-28 11:30:48,054 INFO L134 CoverageAnalysis]: Checked inductivity of 270 backedges. 142 proven. 0 refuted. 0 times theorem prover too weak. 128 trivial. 0 not checked. [2022-04-28 11:30:48,054 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 11:30:48,054 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:30:48,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1894318865] [2022-04-28 11:30:48,055 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:30:48,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1919719442] [2022-04-28 11:30:48,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1919719442] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:30:48,055 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:30:48,055 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:30:48,055 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:30:48,055 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1180322015] [2022-04-28 11:30:48,055 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1180322015] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:30:48,056 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:30:48,056 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 11:30:48,056 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1104827970] [2022-04-28 11:30:48,056 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:30:48,056 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 93 [2022-04-28 11:30:48,056 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:30:48,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 11:30:48,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:48,093 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 11:30:48,093 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:30:48,093 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 11:30:48,093 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 11:30:48,093 INFO L87 Difference]: Start difference. First operand 139 states and 181 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 11:30:48,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:48,457 INFO L93 Difference]: Finished difference Result 189 states and 243 transitions. [2022-04-28 11:30:48,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 11:30:48,457 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 93 [2022-04-28 11:30:48,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:30:48,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 11:30:48,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-28 11:30:48,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 11:30:48,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-28 11:30:48,460 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2022-04-28 11:30:48,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:48,540 INFO L225 Difference]: With dead ends: 189 [2022-04-28 11:30:48,540 INFO L226 Difference]: Without dead ends: 125 [2022-04-28 11:30:48,541 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 90 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 11:30:48,542 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 5 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 124 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 11:30:48,542 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 124 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 11:30:48,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-28 11:30:48,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 120. [2022-04-28 11:30:48,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:30:48,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 11:30:48,721 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 11:30:48,721 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 11:30:48,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:48,729 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-28 11:30:48,729 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-28 11:30:48,730 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:30:48,730 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:30:48,730 INFO L74 IsIncluded]: Start isIncluded. First operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 125 states. [2022-04-28 11:30:48,730 INFO L87 Difference]: Start difference. First operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 125 states. [2022-04-28 11:30:48,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:30:48,734 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-28 11:30:48,734 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-28 11:30:48,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:30:48,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:30:48,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:30:48,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:30:48,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 120 states, 68 states have (on average 1.1176470588235294) internal successors, (76), 69 states have internal predecessors, (76), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 11:30:48,740 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 152 transitions. [2022-04-28 11:30:48,741 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 152 transitions. Word has length 93 [2022-04-28 11:30:48,741 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:30:48,741 INFO L495 AbstractCegarLoop]: Abstraction has 120 states and 152 transitions. [2022-04-28 11:30:48,741 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 4 states have call successors, (17), 2 states have call predecessors, (17), 2 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 11:30:48,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 152 transitions. [2022-04-28 11:30:48,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:30:48,913 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 152 transitions. [2022-04-28 11:30:48,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-28 11:30:48,914 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:30:48,914 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:30:48,930 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 11:30:49,114 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 11:30:49,114 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:30:49,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:30:49,115 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 3 times [2022-04-28 11:30:49,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:30:49,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1807017436] [2022-04-28 11:30:49,116 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:30:49,116 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 4 times [2022-04-28 11:30:49,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:30:49,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [743017179] [2022-04-28 11:30:49,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:30:49,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:30:49,127 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:30:49,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1899922544] [2022-04-28 11:30:49,128 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 11:30:49,128 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:30:49,128 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:30:49,129 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:30:49,137 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 11:30:49,178 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 11:30:49,179 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:30:49,179 INFO L263 TraceCheckSpWp]: Trace formula consists of 211 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 11:30:49,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:30:49,194 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:30:50,075 INFO L272 TraceCheckUtils]: 0: Hoare triple {6632#true} call ULTIMATE.init(); {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {6632#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6632#true} {6632#true} #98#return; {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L272 TraceCheckUtils]: 4: Hoare triple {6632#true} call #t~ret6 := main(); {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L290 TraceCheckUtils]: 5: Hoare triple {6632#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L272 TraceCheckUtils]: 6: Hoare triple {6632#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {6632#true} ~cond := #in~cond; {6658#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 11:30:50,076 INFO L290 TraceCheckUtils]: 8: Hoare triple {6658#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6662#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:30:50,076 INFO L290 TraceCheckUtils]: 9: Hoare triple {6662#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6662#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 11:30:50,076 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6662#(not (= |assume_abort_if_not_#in~cond| 0))} {6632#true} #78#return; {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 11:30:50,076 INFO L290 TraceCheckUtils]: 11: Hoare triple {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 11:30:50,077 INFO L272 TraceCheckUtils]: 12: Hoare triple {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 13: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 14: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 15: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6632#true} {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #80#return; {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 11:30:50,077 INFO L272 TraceCheckUtils]: 17: Hoare triple {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 18: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 19: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,077 INFO L290 TraceCheckUtils]: 20: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,078 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6632#true} {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} #82#return; {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} is VALID [2022-04-28 11:30:50,078 INFO L290 TraceCheckUtils]: 22: Hoare triple {6669#(and (<= 0 main_~x~0) (<= main_~x~0 5))} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,078 INFO L290 TraceCheckUtils]: 23: Hoare triple {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} assume !false; {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,078 INFO L272 TraceCheckUtils]: 24: Hoare triple {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,078 INFO L290 TraceCheckUtils]: 26: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,078 INFO L290 TraceCheckUtils]: 27: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,079 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6632#true} {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} #84#return; {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,079 INFO L272 TraceCheckUtils]: 29: Hoare triple {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,079 INFO L290 TraceCheckUtils]: 30: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,079 INFO L290 TraceCheckUtils]: 31: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,079 INFO L290 TraceCheckUtils]: 32: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,079 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6632#true} {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} #86#return; {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,080 INFO L290 TraceCheckUtils]: 34: Hoare triple {6706#(and (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,080 INFO L290 TraceCheckUtils]: 35: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,080 INFO L272 TraceCheckUtils]: 36: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,080 INFO L290 TraceCheckUtils]: 37: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,080 INFO L290 TraceCheckUtils]: 38: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,080 INFO L290 TraceCheckUtils]: 39: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6632#true} {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,081 INFO L272 TraceCheckUtils]: 41: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 42: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 43: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 44: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6632#true} {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,081 INFO L272 TraceCheckUtils]: 46: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 47: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,082 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6632#true} {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,082 INFO L290 TraceCheckUtils]: 51: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~r~0 >= 2 * ~b~0); {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,082 INFO L272 TraceCheckUtils]: 52: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,082 INFO L290 TraceCheckUtils]: 53: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,082 INFO L290 TraceCheckUtils]: 54: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,082 INFO L290 TraceCheckUtils]: 55: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,083 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6632#true} {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #94#return; {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 11:30:50,083 INFO L290 TraceCheckUtils]: 57: Hoare triple {6743#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,098 INFO L290 TraceCheckUtils]: 58: Hoare triple {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} assume !false; {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,098 INFO L272 TraceCheckUtils]: 59: Hoare triple {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,098 INFO L290 TraceCheckUtils]: 60: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,098 INFO L290 TraceCheckUtils]: 61: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,099 INFO L290 TraceCheckUtils]: 62: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,099 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6632#true} {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} #88#return; {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,099 INFO L272 TraceCheckUtils]: 64: Hoare triple {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,099 INFO L290 TraceCheckUtils]: 65: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,099 INFO L290 TraceCheckUtils]: 66: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,099 INFO L290 TraceCheckUtils]: 67: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,100 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6632#true} {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} #90#return; {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,100 INFO L272 TraceCheckUtils]: 69: Hoare triple {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,100 INFO L290 TraceCheckUtils]: 70: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,100 INFO L290 TraceCheckUtils]: 71: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,100 INFO L290 TraceCheckUtils]: 72: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,100 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6632#true} {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} #92#return; {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,101 INFO L290 TraceCheckUtils]: 74: Hoare triple {6813#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} assume !!(~r~0 >= 2 * ~b~0); {6865#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= (* main_~b~0 2) main_~r~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,101 INFO L272 TraceCheckUtils]: 75: Hoare triple {6865#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= (* main_~b~0 2) main_~r~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,101 INFO L290 TraceCheckUtils]: 76: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,101 INFO L290 TraceCheckUtils]: 77: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,101 INFO L290 TraceCheckUtils]: 78: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,101 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6632#true} {6865#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= (* main_~b~0 2) main_~r~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} #94#return; {6865#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= (* main_~b~0 2) main_~r~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-28 11:30:50,102 INFO L290 TraceCheckUtils]: 80: Hoare triple {6865#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= 0 main_~x~0) (<= (* main_~b~0 2) main_~r~0) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 2))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,102 INFO L290 TraceCheckUtils]: 81: Hoare triple {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} assume !false; {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,103 INFO L272 TraceCheckUtils]: 82: Hoare triple {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 83: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 84: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 85: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6632#true} {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} #88#return; {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,103 INFO L272 TraceCheckUtils]: 87: Hoare triple {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 88: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 89: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,103 INFO L290 TraceCheckUtils]: 90: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,104 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6632#true} {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} #90#return; {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,104 INFO L272 TraceCheckUtils]: 92: Hoare triple {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,104 INFO L290 TraceCheckUtils]: 93: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,104 INFO L290 TraceCheckUtils]: 94: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,104 INFO L290 TraceCheckUtils]: 95: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,104 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {6632#true} {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} #92#return; {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,105 INFO L290 TraceCheckUtils]: 97: Hoare triple {6884#(and (= main_~x~0 main_~r~0) (<= (* main_~y~0 4) main_~r~0) (<= 0 main_~x~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} assume !(~r~0 >= 2 * ~b~0); {6936#(and (= main_~x~0 main_~r~0) (< main_~r~0 (* main_~b~0 2)) (<= (* main_~y~0 4) main_~r~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} is VALID [2022-04-28 11:30:50,105 INFO L290 TraceCheckUtils]: 98: Hoare triple {6936#(and (= main_~x~0 main_~r~0) (< main_~r~0 (* main_~b~0 2)) (<= (* main_~y~0 4) main_~r~0) (= main_~b~0 (* main_~y~0 4)) (<= main_~x~0 5) (= main_~q~0 0) (= main_~a~0 4))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} is VALID [2022-04-28 11:30:50,106 INFO L290 TraceCheckUtils]: 99: Hoare triple {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} assume !false; {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} is VALID [2022-04-28 11:30:50,106 INFO L272 TraceCheckUtils]: 100: Hoare triple {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6632#true} is VALID [2022-04-28 11:30:50,106 INFO L290 TraceCheckUtils]: 101: Hoare triple {6632#true} ~cond := #in~cond; {6632#true} is VALID [2022-04-28 11:30:50,108 INFO L290 TraceCheckUtils]: 102: Hoare triple {6632#true} assume !(0 == ~cond); {6632#true} is VALID [2022-04-28 11:30:50,108 INFO L290 TraceCheckUtils]: 103: Hoare triple {6632#true} assume true; {6632#true} is VALID [2022-04-28 11:30:50,108 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {6632#true} {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} #84#return; {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} is VALID [2022-04-28 11:30:50,109 INFO L272 TraceCheckUtils]: 105: Hoare triple {6940#(and (= main_~x~0 (+ main_~r~0 (* main_~y~0 4))) (< main_~r~0 (* main_~y~0 4)) (<= 0 main_~r~0) (<= main_~x~0 5) (= main_~q~0 4))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6962#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:30:50,109 INFO L290 TraceCheckUtils]: 106: Hoare triple {6962#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6966#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:30:50,109 INFO L290 TraceCheckUtils]: 107: Hoare triple {6966#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6633#false} is VALID [2022-04-28 11:30:50,109 INFO L290 TraceCheckUtils]: 108: Hoare triple {6633#false} assume !false; {6633#false} is VALID [2022-04-28 11:30:50,110 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 28 proven. 26 refuted. 0 times theorem prover too weak. 370 trivial. 0 not checked. [2022-04-28 11:30:50,110 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:31:22,373 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:31:22,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [743017179] [2022-04-28 11:31:22,373 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:31:22,373 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1899922544] [2022-04-28 11:31:22,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1899922544] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 11:31:22,374 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 11:31:22,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-28 11:31:22,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:31:22,374 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1807017436] [2022-04-28 11:31:22,374 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1807017436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:31:22,374 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:31:22,374 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 11:31:22,374 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [963300057] [2022-04-28 11:31:22,374 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:31:22,375 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-28 11:31:22,375 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:31:22,375 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 11:31:22,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:22,431 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 11:31:22,431 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:31:22,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 11:31:22,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=324, Unknown=0, NotChecked=0, Total=420 [2022-04-28 11:31:22,431 INFO L87 Difference]: Start difference. First operand 120 states and 152 transitions. Second operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 11:31:24,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:24,025 INFO L93 Difference]: Finished difference Result 164 states and 211 transitions. [2022-04-28 11:31:24,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 11:31:24,025 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-28 11:31:24,026 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:31:24,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 11:31:24,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 11:31:24,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 11:31:24,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-28 11:31:24,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-28 11:31:24,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 125 edges. 125 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:24,148 INFO L225 Difference]: With dead ends: 164 [2022-04-28 11:31:24,148 INFO L226 Difference]: Without dead ends: 161 [2022-04-28 11:31:24,148 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 164 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=104, Invalid=402, Unknown=0, NotChecked=0, Total=506 [2022-04-28 11:31:24,149 INFO L413 NwaCegarLoop]: 62 mSDtfsCounter, 38 mSDsluCounter, 229 mSDsCounter, 0 mSdLazyCounter, 553 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 588 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 553 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 11:31:24,149 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 291 Invalid, 588 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 553 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 11:31:24,149 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-28 11:31:24,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 156. [2022-04-28 11:31:24,478 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:31:24,478 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 11:31:24,478 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 11:31:24,479 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 11:31:24,482 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:24,482 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-28 11:31:24,482 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-28 11:31:24,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:31:24,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:31:24,483 INFO L74 IsIncluded]: Start isIncluded. First operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) Second operand 161 states. [2022-04-28 11:31:24,483 INFO L87 Difference]: Start difference. First operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) Second operand 161 states. [2022-04-28 11:31:24,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:24,486 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-28 11:31:24,486 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-28 11:31:24,486 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:31:24,487 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:31:24,487 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:31:24,487 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:31:24,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 156 states, 88 states have (on average 1.125) internal successors, (99), 89 states have internal predecessors, (99), 52 states have call successors, (52), 16 states have call predecessors, (52), 15 states have return successors, (50), 50 states have call predecessors, (50), 50 states have call successors, (50) [2022-04-28 11:31:24,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 201 transitions. [2022-04-28 11:31:24,490 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 201 transitions. Word has length 109 [2022-04-28 11:31:24,490 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:31:24,490 INFO L495 AbstractCegarLoop]: Abstraction has 156 states and 201 transitions. [2022-04-28 11:31:24,490 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 13 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 8 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-28 11:31:24,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 156 states and 201 transitions. [2022-04-28 11:31:24,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 201 edges. 201 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:24,741 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 201 transitions. [2022-04-28 11:31:24,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 11:31:24,741 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 11:31:24,741 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 11:31:24,758 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 11:31:24,942 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 11:31:24,942 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 11:31:24,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 11:31:24,942 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 5 times [2022-04-28 11:31:24,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 11:31:24,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1152126413] [2022-04-28 11:31:24,943 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 11:31:24,943 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 6 times [2022-04-28 11:31:24,943 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 11:31:24,943 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806730525] [2022-04-28 11:31:24,943 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 11:31:24,943 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 11:31:24,956 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 11:31:24,957 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [777374817] [2022-04-28 11:31:24,957 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 11:31:24,957 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 11:31:24,957 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 11:31:24,975 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 11:31:24,977 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 11:31:25,021 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 11:31:25,021 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 11:31:25,022 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-28 11:31:25,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 11:31:25,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 11:31:25,302 INFO L272 TraceCheckUtils]: 0: Hoare triple {8173#true} call ULTIMATE.init(); {8173#true} is VALID [2022-04-28 11:31:25,302 INFO L290 TraceCheckUtils]: 1: Hoare triple {8173#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {8173#true} is VALID [2022-04-28 11:31:25,302 INFO L290 TraceCheckUtils]: 2: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8173#true} {8173#true} #98#return; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {8173#true} call #t~ret6 := main(); {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {8173#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L272 TraceCheckUtils]: 6: Hoare triple {8173#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8173#true} {8173#true} #78#return; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 11: Hoare triple {8173#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L272 TraceCheckUtils]: 12: Hoare triple {8173#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 13: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 14: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L290 TraceCheckUtils]: 15: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,303 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8173#true} {8173#true} #80#return; {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L272 TraceCheckUtils]: 17: Hoare triple {8173#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 18: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8173#true} {8173#true} #82#return; {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 22: Hoare triple {8173#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 23: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !false; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,304 INFO L272 TraceCheckUtils]: 24: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #84#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,305 INFO L272 TraceCheckUtils]: 29: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L290 TraceCheckUtils]: 30: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L290 TraceCheckUtils]: 31: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,305 INFO L290 TraceCheckUtils]: 32: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,306 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #86#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,306 INFO L290 TraceCheckUtils]: 34: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,306 INFO L290 TraceCheckUtils]: 35: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !false; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,306 INFO L272 TraceCheckUtils]: 36: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,306 INFO L290 TraceCheckUtils]: 37: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,306 INFO L290 TraceCheckUtils]: 39: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #88#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,316 INFO L272 TraceCheckUtils]: 41: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L290 TraceCheckUtils]: 42: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L290 TraceCheckUtils]: 43: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L290 TraceCheckUtils]: 44: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #90#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,316 INFO L272 TraceCheckUtils]: 46: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L290 TraceCheckUtils]: 47: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,316 INFO L290 TraceCheckUtils]: 48: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,317 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #92#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,317 INFO L290 TraceCheckUtils]: 51: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !!(~r~0 >= 2 * ~b~0); {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,317 INFO L272 TraceCheckUtils]: 52: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,317 INFO L290 TraceCheckUtils]: 53: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,317 INFO L290 TraceCheckUtils]: 54: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,317 INFO L290 TraceCheckUtils]: 55: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,318 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #94#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,318 INFO L290 TraceCheckUtils]: 57: Hoare triple {8244#(= main_~x~0 main_~r~0)} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,318 INFO L290 TraceCheckUtils]: 58: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !false; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,318 INFO L272 TraceCheckUtils]: 59: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,318 INFO L290 TraceCheckUtils]: 60: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,319 INFO L290 TraceCheckUtils]: 61: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,319 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #88#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,319 INFO L272 TraceCheckUtils]: 64: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,319 INFO L290 TraceCheckUtils]: 65: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,320 INFO L290 TraceCheckUtils]: 66: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,320 INFO L290 TraceCheckUtils]: 67: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,321 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #90#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,321 INFO L272 TraceCheckUtils]: 69: Hoare triple {8244#(= main_~x~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,321 INFO L290 TraceCheckUtils]: 70: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,321 INFO L290 TraceCheckUtils]: 71: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,321 INFO L290 TraceCheckUtils]: 72: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,321 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8173#true} {8244#(= main_~x~0 main_~r~0)} #92#return; {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,321 INFO L290 TraceCheckUtils]: 74: Hoare triple {8244#(= main_~x~0 main_~r~0)} assume !(~r~0 >= 2 * ~b~0); {8244#(= main_~x~0 main_~r~0)} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 75: Hoare triple {8244#(= main_~x~0 main_~r~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 76: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L272 TraceCheckUtils]: 77: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 78: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 79: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 80: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8173#true} {8173#true} #84#return; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L272 TraceCheckUtils]: 82: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 83: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 84: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 85: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8173#true} {8173#true} #86#return; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 87: Hoare triple {8173#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8173#true} is VALID [2022-04-28 11:31:25,322 INFO L290 TraceCheckUtils]: 88: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L272 TraceCheckUtils]: 89: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L290 TraceCheckUtils]: 90: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L290 TraceCheckUtils]: 91: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L290 TraceCheckUtils]: 92: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8173#true} {8173#true} #88#return; {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L272 TraceCheckUtils]: 94: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,323 INFO L290 TraceCheckUtils]: 95: Hoare triple {8173#true} ~cond := #in~cond; {8464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:31:25,324 INFO L290 TraceCheckUtils]: 96: Hoare triple {8464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:25,324 INFO L290 TraceCheckUtils]: 97: Hoare triple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:25,324 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} {8173#true} #90#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:25,324 INFO L272 TraceCheckUtils]: 99: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,324 INFO L290 TraceCheckUtils]: 100: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:25,325 INFO L290 TraceCheckUtils]: 101: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:25,325 INFO L290 TraceCheckUtils]: 102: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:25,325 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8173#true} {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:25,325 INFO L290 TraceCheckUtils]: 104: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:25,332 INFO L290 TraceCheckUtils]: 105: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8497#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} is VALID [2022-04-28 11:31:25,332 INFO L290 TraceCheckUtils]: 106: Hoare triple {8497#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} assume !false; {8497#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} is VALID [2022-04-28 11:31:25,332 INFO L272 TraceCheckUtils]: 107: Hoare triple {8497#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:25,333 INFO L290 TraceCheckUtils]: 108: Hoare triple {8173#true} ~cond := #in~cond; {8464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:31:25,333 INFO L290 TraceCheckUtils]: 109: Hoare triple {8464#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:25,333 INFO L290 TraceCheckUtils]: 110: Hoare triple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:25,334 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} {8497#(= main_~r~0 (+ main_~x~0 (* (- 1) main_~b~0) (* main_~a~0 main_~y~0) (* (- 1) main_~q~0 main_~y~0)))} #84#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:25,334 INFO L272 TraceCheckUtils]: 112: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8519#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:31:25,334 INFO L290 TraceCheckUtils]: 113: Hoare triple {8519#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8523#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:31:25,334 INFO L290 TraceCheckUtils]: 114: Hoare triple {8523#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8174#false} is VALID [2022-04-28 11:31:25,335 INFO L290 TraceCheckUtils]: 115: Hoare triple {8174#false} assume !false; {8174#false} is VALID [2022-04-28 11:31:25,335 INFO L134 CoverageAnalysis]: Checked inductivity of 488 backedges. 106 proven. 23 refuted. 0 times theorem prover too weak. 359 trivial. 0 not checked. [2022-04-28 11:31:25,335 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 11:31:40,634 INFO L290 TraceCheckUtils]: 115: Hoare triple {8174#false} assume !false; {8174#false} is VALID [2022-04-28 11:31:40,634 INFO L290 TraceCheckUtils]: 114: Hoare triple {8523#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8174#false} is VALID [2022-04-28 11:31:40,634 INFO L290 TraceCheckUtils]: 113: Hoare triple {8519#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8523#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 11:31:40,635 INFO L272 TraceCheckUtils]: 112: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8519#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 11:31:40,635 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} {8542#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} #84#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:40,636 INFO L290 TraceCheckUtils]: 110: Hoare triple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:40,636 INFO L290 TraceCheckUtils]: 109: Hoare triple {8552#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:40,636 INFO L290 TraceCheckUtils]: 108: Hoare triple {8173#true} ~cond := #in~cond; {8552#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:31:40,636 INFO L272 TraceCheckUtils]: 107: Hoare triple {8542#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,637 INFO L290 TraceCheckUtils]: 106: Hoare triple {8542#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} assume !false; {8542#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} is VALID [2022-04-28 11:31:40,643 INFO L290 TraceCheckUtils]: 105: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8542#(or (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (not (= main_~b~0 (* main_~a~0 main_~y~0))))} is VALID [2022-04-28 11:31:40,643 INFO L290 TraceCheckUtils]: 104: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:40,644 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8173#true} {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:40,644 INFO L290 TraceCheckUtils]: 102: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,644 INFO L290 TraceCheckUtils]: 101: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,644 INFO L290 TraceCheckUtils]: 100: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,644 INFO L272 TraceCheckUtils]: 99: Hoare triple {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,644 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} {8173#true} #90#return; {8475#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-28 11:31:40,647 INFO L290 TraceCheckUtils]: 97: Hoare triple {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 96: Hoare triple {8552#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8468#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 95: Hoare triple {8173#true} ~cond := #in~cond; {8552#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 11:31:40,648 INFO L272 TraceCheckUtils]: 94: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8173#true} {8173#true} #88#return; {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 92: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 91: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 90: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L272 TraceCheckUtils]: 89: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,648 INFO L290 TraceCheckUtils]: 88: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 87: Hoare triple {8173#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8173#true} {8173#true} #86#return; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 85: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 84: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 83: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L272 TraceCheckUtils]: 82: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8173#true} {8173#true} #84#return; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 80: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 79: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 78: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L272 TraceCheckUtils]: 77: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 76: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 75: Hoare triple {8173#true} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8173#true} is VALID [2022-04-28 11:31:40,649 INFO L290 TraceCheckUtils]: 74: Hoare triple {8173#true} assume !(~r~0 >= 2 * ~b~0); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8173#true} {8173#true} #92#return; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 72: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 71: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 70: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L272 TraceCheckUtils]: 69: Hoare triple {8173#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8173#true} {8173#true} #90#return; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 67: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 66: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 65: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L272 TraceCheckUtils]: 64: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8173#true} {8173#true} #88#return; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 62: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 61: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L290 TraceCheckUtils]: 60: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,650 INFO L272 TraceCheckUtils]: 59: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,651 INFO L290 TraceCheckUtils]: 58: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L290 TraceCheckUtils]: 57: Hoare triple {8173#true} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8173#true} {8173#true} #94#return; {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L290 TraceCheckUtils]: 55: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L290 TraceCheckUtils]: 54: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L290 TraceCheckUtils]: 53: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L272 TraceCheckUtils]: 52: Hoare triple {8173#true} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L290 TraceCheckUtils]: 51: Hoare triple {8173#true} assume !!(~r~0 >= 2 * ~b~0); {8173#true} is VALID [2022-04-28 11:31:40,657 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8173#true} {8173#true} #92#return; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 49: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 48: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 47: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L272 TraceCheckUtils]: 46: Hoare triple {8173#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8173#true} {8173#true} #90#return; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 44: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 43: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 42: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L272 TraceCheckUtils]: 41: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8173#true} {8173#true} #88#return; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 39: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 38: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 37: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L272 TraceCheckUtils]: 36: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 34: Hoare triple {8173#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8173#true} {8173#true} #86#return; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L272 TraceCheckUtils]: 29: Hoare triple {8173#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8173#true} {8173#true} #84#return; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 27: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 26: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 25: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L272 TraceCheckUtils]: 24: Hoare triple {8173#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 23: Hoare triple {8173#true} assume !false; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {8173#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8173#true} is VALID [2022-04-28 11:31:40,659 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8173#true} {8173#true} #82#return; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 20: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 19: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 18: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L272 TraceCheckUtils]: 17: Hoare triple {8173#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8173#true} {8173#true} #80#return; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 15: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L272 TraceCheckUtils]: 12: Hoare triple {8173#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 5 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 11: Hoare triple {8173#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8173#true} {8173#true} #78#return; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 8: Hoare triple {8173#true} assume !(0 == ~cond); {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L290 TraceCheckUtils]: 7: Hoare triple {8173#true} ~cond := #in~cond; {8173#true} is VALID [2022-04-28 11:31:40,660 INFO L272 TraceCheckUtils]: 6: Hoare triple {8173#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 5 then 1 else 0)); {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {8173#true} havoc ~x~0;havoc ~y~0;havoc ~q~0;havoc ~r~0;havoc ~a~0;havoc ~b~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {8173#true} call #t~ret6 := main(); {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8173#true} {8173#true} #98#return; {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {8173#true} assume true; {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {8173#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(14, 2);call #Ultimate.allocInit(12, 3); {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {8173#true} call ULTIMATE.init(); {8173#true} is VALID [2022-04-28 11:31:40,661 INFO L134 CoverageAnalysis]: Checked inductivity of 488 backedges. 114 proven. 5 refuted. 0 times theorem prover too weak. 369 trivial. 0 not checked. [2022-04-28 11:31:40,661 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 11:31:40,661 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806730525] [2022-04-28 11:31:40,661 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 11:31:40,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [777374817] [2022-04-28 11:31:40,662 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [777374817] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 11:31:40,662 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 11:31:40,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 11 [2022-04-28 11:31:40,663 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 11:31:40,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1152126413] [2022-04-28 11:31:40,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1152126413] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 11:31:40,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 11:31:40,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 11:31:40,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1567080020] [2022-04-28 11:31:40,663 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 11:31:40,664 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) Word has length 116 [2022-04-28 11:31:40,665 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 11:31:40,665 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-28 11:31:40,724 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:40,724 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 11:31:40,724 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 11:31:40,725 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 11:31:40,725 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-28 11:31:40,725 INFO L87 Difference]: Start difference. First operand 156 states and 201 transitions. Second operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-28 11:31:41,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:41,451 INFO L93 Difference]: Finished difference Result 165 states and 208 transitions. [2022-04-28 11:31:41,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 11:31:41,451 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) Word has length 116 [2022-04-28 11:31:41,452 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 11:31:41,452 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-28 11:31:41,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:31:41,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-28 11:31:41,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 65 transitions. [2022-04-28 11:31:41,453 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 65 transitions. [2022-04-28 11:31:41,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:41,526 INFO L225 Difference]: With dead ends: 165 [2022-04-28 11:31:41,527 INFO L226 Difference]: Without dead ends: 0 [2022-04-28 11:31:41,528 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 237 GetRequests, 221 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 17 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=160, Unknown=0, NotChecked=0, Total=210 [2022-04-28 11:31:41,531 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 23 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 166 mSolverCounterSat, 39 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 205 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 39 IncrementalHoareTripleChecker+Valid, 166 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 11:31:41,532 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 146 Invalid, 205 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [39 Valid, 166 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 11:31:41,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-28 11:31:41,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-28 11:31:41,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 11:31:41,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:31:41,532 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:31:41,532 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:31:41,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:41,532 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 11:31:41,532 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:31:41,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:31:41,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:31:41,533 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 11:31:41,533 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-28 11:31:41,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 11:31:41,533 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-28 11:31:41,533 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:31:41,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:31:41,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 11:31:41,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 11:31:41,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 11:31:41,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-28 11:31:41,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-28 11:31:41,533 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 116 [2022-04-28 11:31:41,533 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 11:31:41,533 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-28 11:31:41,533 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 8 states have internal predecessors, (30), 4 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 4 states have call successors, (16) [2022-04-28 11:31:41,534 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-28 11:31:41,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 11:31:41,534 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-28 11:31:41,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 11:31:41,536 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-28 11:31:41,556 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 11:31:41,752 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 11:31:41,754 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-28 11:31:45,731 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-28 11:31:45,731 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-28 11:31:45,731 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-28 11:31:45,731 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point L12-2(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 11 13) the Hoare annotation is: (and (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)) [2022-04-28 11:31:45,731 INFO L902 garLoopResultBuilder]: At program point L64(line 64) the Hoare annotation is: true [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point L31(line 31) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 5) (<= 1 main_~y~0) (<= main_~y~0 5)) [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 5)) [2022-04-28 11:31:45,731 INFO L895 garLoopResultBuilder]: At program point L29-1(line 29) the Hoare annotation is: (and (<= 0 main_~y~0) (<= 0 main_~x~0) (<= main_~x~0 5) (<= main_~y~0 5)) [2022-04-28 11:31:45,731 INFO L902 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~x~0 5)) [2022-04-28 11:31:45,732 INFO L902 garLoopResultBuilder]: At program point mainEXIT(lines 22 66) the Hoare annotation is: true [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L50(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L48(line 48) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L48-1(line 48) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,732 INFO L902 garLoopResultBuilder]: At program point mainFINAL(lines 22 66) the Hoare annotation is: true [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L40(lines 38 62) the Hoare annotation is: (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 (* main_~a~0 main_~y~0))) (.cse2 (<= main_~y~0 5))) (or (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 5) .cse0 .cse1 .cse2) (and (< main_~r~0 main_~y~0) (<= main_~b~0 main_~y~0) (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L38-2(lines 38 62) the Hoare annotation is: (let ((.cse3 (* main_~a~0 main_~y~0))) (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 .cse3)) (.cse2 (<= main_~y~0 5))) (or (and (< main_~r~0 main_~y~0) (= main_~b~0 main_~y~0) (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse3)) (<= 0 main_~x~0) (<= main_~x~0 5) .cse0 .cse1 .cse2)))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L38-3(lines 38 62) the Hoare annotation is: (let ((.cse6 (* main_~q~0 main_~y~0))) (let ((.cse4 (= (+ .cse6 main_~r~0) main_~x~0)) (.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 (* main_~a~0 main_~y~0))) (.cse2 (<= main_~y~0 5))) (or (and (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2) (and (= main_~x~0 main_~r~0) (= main_~q~0 0) .cse0 .cse2) (let ((.cse5 (* main_~y~0 (div main_~a~0 2)))) (let ((.cse3 (* .cse5 2))) (and (<= main_~b~0 .cse3) .cse4 (<= .cse5 main_~y~0) (<= .cse3 main_~x~0) (< main_~x~0 (* .cse6 2)) (= main_~x~0 (+ main_~b~0 main_~r~0)) .cse1 .cse2))) (and (< main_~r~0 main_~y~0) .cse4 (<= 0 main_~x~0) (<= main_~x~0 5) .cse0 .cse1 .cse2)))) [2022-04-28 11:31:45,732 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 66) the Hoare annotation is: true [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L55(line 55) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= (* 2 .cse0) main_~r~0) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L55-1(line 55) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= (* 2 .cse0) main_~r~0) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,732 INFO L895 garLoopResultBuilder]: At program point L49(line 49) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L47-2(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) (<= 1 main_~r~0) (<= main_~x~0 5) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 5))) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L47-3(lines 47 59) the Hoare annotation is: (let ((.cse0 (* main_~a~0 main_~y~0))) (let ((.cse1 (<= 1 main_~r~0)) (.cse2 (= main_~b~0 .cse0)) (.cse3 (<= main_~y~0 5))) (or (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse0)) (<= 0 main_~x~0) .cse1 (<= main_~x~0 5) (<= 1 main_~y~0) .cse2 .cse3) (and (= main_~x~0 main_~r~0) (< main_~r~0 (* main_~b~0 2)) .cse1 (= main_~b~0 main_~y~0) (= main_~q~0 0) .cse2 .cse3)))) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L39(line 39) the Hoare annotation is: (let ((.cse3 (* main_~a~0 main_~y~0))) (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 .cse3)) (.cse2 (<= main_~y~0 5))) (or (and (< main_~r~0 main_~y~0) (= main_~b~0 main_~y~0) (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2) (and (= (+ (* main_~q~0 main_~y~0) main_~b~0 main_~r~0) (+ main_~x~0 .cse3)) (<= 0 main_~x~0) (<= main_~x~0 5) .cse0 .cse1 .cse2)))) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L39-1(line 39) the Hoare annotation is: (let ((.cse0 (<= 1 main_~y~0)) (.cse1 (= main_~b~0 (* main_~a~0 main_~y~0))) (.cse2 (<= main_~y~0 5))) (or (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 0 main_~x~0) (<= main_~x~0 5) .cse0 .cse1 .cse2) (and (< main_~r~0 main_~y~0) (<= main_~b~0 main_~y~0) (= main_~x~0 (+ main_~y~0 main_~r~0)) (= main_~q~0 1) .cse0 .cse1 .cse2))) [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L15(lines 15 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:31:45,733 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point L15-2(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:31:45,733 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 14 20) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-28 11:31:45,734 INFO L895 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-28 11:31:45,735 INFO L356 BasicCegarLoop]: Path program histogram: [6, 4, 2, 2, 2, 2, 2, 2] [2022-04-28 11:31:45,737 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-28 11:31:45,738 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-28 11:31:45,739 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-28 11:31:45,772 INFO L163 areAnnotationChecker]: CFG has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-28 11:31:45,779 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 28.04 11:31:45 BoogieIcfgContainer [2022-04-28 11:31:45,779 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-28 11:31:45,780 INFO L158 Benchmark]: Toolchain (without parser) took 223649.95ms. Allocated memory was 179.3MB in the beginning and 254.8MB in the end (delta: 75.5MB). Free memory was 131.5MB in the beginning and 88.8MB in the end (delta: 42.7MB). Peak memory consumption was 129.9MB. Max. memory is 8.0GB. [2022-04-28 11:31:45,780 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 179.3MB. Free memory is still 147.3MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 11:31:45,780 INFO L158 Benchmark]: CACSL2BoogieTranslator took 253.20ms. Allocated memory is still 179.3MB. Free memory was 131.3MB in the beginning and 155.1MB in the end (delta: -23.8MB). Peak memory consumption was 14.4MB. Max. memory is 8.0GB. [2022-04-28 11:31:45,780 INFO L158 Benchmark]: Boogie Preprocessor took 35.59ms. Allocated memory is still 179.3MB. Free memory was 155.1MB in the beginning and 153.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-28 11:31:45,780 INFO L158 Benchmark]: RCFGBuilder took 267.24ms. Allocated memory is still 179.3MB. Free memory was 153.5MB in the beginning and 141.0MB in the end (delta: 12.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-28 11:31:45,781 INFO L158 Benchmark]: TraceAbstraction took 223086.14ms. Allocated memory was 179.3MB in the beginning and 254.8MB in the end (delta: 75.5MB). Free memory was 140.4MB in the beginning and 88.8MB in the end (delta: 51.6MB). Peak memory consumption was 137.5MB. Max. memory is 8.0GB. [2022-04-28 11:31:45,781 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 179.3MB. Free memory is still 147.3MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 253.20ms. Allocated memory is still 179.3MB. Free memory was 131.3MB in the beginning and 155.1MB in the end (delta: -23.8MB). Peak memory consumption was 14.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 35.59ms. Allocated memory is still 179.3MB. Free memory was 155.1MB in the beginning and 153.5MB in the end (delta: 1.6MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 267.24ms. Allocated memory is still 179.3MB. Free memory was 153.5MB in the beginning and 141.0MB in the end (delta: 12.5MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 223086.14ms. Allocated memory was 179.3MB in the beginning and 254.8MB in the end (delta: 75.5MB). Free memory was 140.4MB in the beginning and 88.8MB in the end (delta: 51.6MB). Peak memory consumption was 137.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 42 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 223.0s, OverallIterations: 11, TraceHistogramMax: 16, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 9.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 4.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 295 SdHoareTripleChecker+Valid, 2.8s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 222 mSDsluCounter, 1908 SdHoareTripleChecker+Invalid, 2.8s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1449 mSDsCounter, 154 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2217 IncrementalHoareTripleChecker+Invalid, 2371 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 154 mSolverCounterUnsat, 459 mSDtfsCounter, 2217 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1066 GetRequests, 946 SyntacticMatches, 9 SemanticMatches, 111 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 341 ImplicationChecksByTransitivity, 1.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=156occurred in iteration=10, InterpolantAutomatonStates: 90, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.2s AutomataMinimizationTime, 11 MinimizatonAttempts, 31 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 39 LocationsWithAnnotation, 517 PreInvPairs, 757 NumberOfFragments, 749 HoareAnnotationTreeSize, 517 FomulaSimplifications, 598 FormulaSimplificationTreeSizeReduction, 0.6s HoareSimplificationTime, 39 FomulaSimplificationsInter, 10813 FormulaSimplificationTreeSizeReductionInter, 3.2s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 47]: Loop Invariant Derived loop invariant: (((((q * y + b + r == x + a * y && 0 <= x) && 1 <= r) && x <= 5) && 1 <= y) && b == a * y) && y <= 5 - InvariantResult [Line: 38]: Loop Invariant Derived loop invariant: ((((((r < y && b == y) && x == y + r) && q == 1) && 1 <= y) && b == a * y) && y <= 5) || (((((q * y + b + r == x + a * y && 0 <= x) && x <= 5) && 1 <= y) && b == a * y) && y <= 5) - ProcedureContractResult [Line: 11]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 22]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 14]: Procedure Contract for __VERIFIER_assert Derived contract for procedure __VERIFIER_assert: \old(cond) == cond || !(1 <= \old(cond)) RESULT: Ultimate proved your program to be correct! [2022-04-28 11:31:45,820 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...