/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_valuebound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 14:08:39,986 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 14:08:39,987 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 14:08:40,010 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 14:08:40,011 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 14:08:40,012 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 14:08:40,016 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 14:08:40,023 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 14:08:40,024 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 14:08:40,025 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 14:08:40,025 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 14:08:40,026 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 14:08:40,026 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 14:08:40,027 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 14:08:40,027 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 14:08:40,028 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 14:08:40,028 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 14:08:40,029 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 14:08:40,031 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 14:08:40,035 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 14:08:40,036 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 14:08:40,037 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 14:08:40,038 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 14:08:40,039 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 14:08:40,040 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 14:08:40,044 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 14:08:40,045 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 14:08:40,045 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 14:08:40,045 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 14:08:40,046 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 14:08:40,046 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 14:08:40,046 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 14:08:40,047 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 14:08:40,047 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 14:08:40,048 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 14:08:40,048 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 14:08:40,048 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 14:08:40,049 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 14:08:40,049 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 14:08:40,049 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 14:08:40,049 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 14:08:40,050 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 14:08:40,051 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-15 14:08:40,059 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 14:08:40,059 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 14:08:40,060 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 14:08:40,060 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 14:08:40,061 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 14:08:40,061 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:08:40,062 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 14:08:40,062 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 14:08:40,062 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 14:08:40,062 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 14:08:40,062 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 14:08:40,062 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 14:08:40,062 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-15 14:08:40,222 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 14:08:40,234 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 14:08:40,235 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 14:08:40,236 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 14:08:40,236 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 14:08:40,237 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c [2022-04-15 14:08:40,308 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3cb17bdb/adf2f48164cb4fa4bc0ceafd6a15cd7d/FLAGa689b046d [2022-04-15 14:08:40,665 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 14:08:40,665 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/cohendiv-ll_valuebound50.c [2022-04-15 14:08:40,671 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3cb17bdb/adf2f48164cb4fa4bc0ceafd6a15cd7d/FLAGa689b046d [2022-04-15 14:08:40,679 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c3cb17bdb/adf2f48164cb4fa4bc0ceafd6a15cd7d [2022-04-15 14:08:40,680 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 14:08:40,681 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 14:08:40,682 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 14:08:40,682 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 14:08:40,684 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 14:08:40,687 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,688 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65113ddb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40, skipping insertion in model container [2022-04-15 14:08:40,688 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,692 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 14:08:40,702 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 14:08:40,853 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_valuebound50.c[576,589] [2022-04-15 14:08:40,874 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:08:40,880 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 14:08:40,893 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_valuebound50.c[576,589] [2022-04-15 14:08:40,910 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 14:08:40,922 INFO L208 MainTranslator]: Completed translation [2022-04-15 14:08:40,923 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40 WrapperNode [2022-04-15 14:08:40,923 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 14:08:40,924 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 14:08:40,924 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 14:08:40,924 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 14:08:40,932 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,932 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,936 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,936 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,952 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,955 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,956 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,957 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 14:08:40,957 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 14:08:40,957 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 14:08:40,957 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 14:08:40,959 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (1/1) ... [2022-04-15 14:08:40,963 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 14:08:40,970 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:40,979 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-15 14:08:40,999 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-15 14:08:41,010 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 14:08:41,011 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 14:08:41,011 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 14:08:41,011 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 14:08:41,011 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 14:08:41,012 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 14:08:41,012 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 14:08:41,013 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 14:08:41,013 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 14:08:41,014 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 14:08:41,014 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 14:08:41,014 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 14:08:41,014 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 14:08:41,014 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 14:08:41,056 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 14:08:41,057 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 14:08:41,226 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 14:08:41,230 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 14:08:41,230 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-15 14:08:41,231 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:08:41 BoogieIcfgContainer [2022-04-15 14:08:41,231 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 14:08:41,240 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 14:08:41,240 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 14:08:41,242 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 14:08:41,242 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 02:08:40" (1/3) ... [2022-04-15 14:08:41,243 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6423c7fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:08:41, skipping insertion in model container [2022-04-15 14:08:41,243 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 02:08:40" (2/3) ... [2022-04-15 14:08:41,243 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6423c7fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 02:08:41, skipping insertion in model container [2022-04-15 14:08:41,243 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 02:08:41" (3/3) ... [2022-04-15 14:08:41,244 INFO L111 eAbstractionObserver]: Analyzing ICFG cohendiv-ll_valuebound50.c [2022-04-15 14:08:41,247 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 14:08:41,247 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 14:08:41,272 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 14:08:41,276 INFO L340 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 [2022-04-15 14:08:41,276 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 14:08:41,287 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-15 14:08:41,314 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 14:08:41,314 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:41,314 INFO L499 BasicCegarLoop]: 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-15 14:08:41,315 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:41,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:41,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 1 times [2022-04-15 14:08:41,336 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:41,336 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1957970228] [2022-04-15 14:08:41,345 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:41,345 INFO L85 PathProgramCache]: Analyzing trace with hash -1768835633, now seen corresponding path program 2 times [2022-04-15 14:08:41,347 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:41,347 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [843314525] [2022-04-15 14:08:41,347 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:41,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:41,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:41,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 14:08:41,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:41,508 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-15 14:08:41,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-15 14:08:41,509 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-15 14:08:41,509 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 14:08:41,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:41,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,519 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,519 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,519 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-15 14:08:41,519 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 14:08:41,520 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:41,524 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-15 14:08:41,525 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 14:08:41,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:41,535 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-15 14:08:41,537 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-15 14:08:41,537 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-15 14:08:41,537 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#true} assume true; {42#true} is VALID [2022-04-15 14:08:41,537 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#true} {42#true} #98#return; {42#true} is VALID [2022-04-15 14:08:41,538 INFO L272 TraceCheckUtils]: 4: Hoare triple {42#true} call #t~ret6 := main(); {42#true} is VALID [2022-04-15 14:08:41,538 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-15 14:08:41,538 INFO L272 TraceCheckUtils]: 6: Hoare triple {42#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {42#true} is VALID [2022-04-15 14:08:41,538 INFO L290 TraceCheckUtils]: 7: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {43#false} {42#true} #78#return; {43#false} is VALID [2022-04-15 14:08:41,540 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-15 14:08:41,540 INFO L272 TraceCheckUtils]: 12: Hoare triple {43#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {42#true} is VALID [2022-04-15 14:08:41,540 INFO L290 TraceCheckUtils]: 13: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,547 INFO L290 TraceCheckUtils]: 14: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,547 INFO L290 TraceCheckUtils]: 15: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,547 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {43#false} {43#false} #80#return; {43#false} is VALID [2022-04-15 14:08:41,548 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-15 14:08:41,548 INFO L290 TraceCheckUtils]: 18: Hoare triple {42#true} ~cond := #in~cond; {42#true} is VALID [2022-04-15 14:08:41,548 INFO L290 TraceCheckUtils]: 19: Hoare triple {42#true} assume 0 == ~cond;assume false; {43#false} is VALID [2022-04-15 14:08:41,548 INFO L290 TraceCheckUtils]: 20: Hoare triple {43#false} assume true; {43#false} is VALID [2022-04-15 14:08:41,548 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {43#false} {43#false} #82#return; {43#false} is VALID [2022-04-15 14:08:41,549 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-15 14:08:41,549 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#false} assume false; {43#false} is VALID [2022-04-15 14:08:41,549 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-15 14:08:41,549 INFO L290 TraceCheckUtils]: 25: Hoare triple {43#false} ~cond := #in~cond; {43#false} is VALID [2022-04-15 14:08:41,549 INFO L290 TraceCheckUtils]: 26: Hoare triple {43#false} assume 0 == ~cond; {43#false} is VALID [2022-04-15 14:08:41,549 INFO L290 TraceCheckUtils]: 27: Hoare triple {43#false} assume !false; {43#false} is VALID [2022-04-15 14:08:41,550 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-15 14:08:41,550 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:41,550 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [843314525] [2022-04-15 14:08:41,551 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [843314525] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:41,551 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:41,551 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:08:41,553 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:41,553 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1957970228] [2022-04-15 14:08:41,553 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1957970228] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:41,553 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:41,553 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 14:08:41,553 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1128037029] [2022-04-15 14:08:41,554 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:41,557 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-15 14:08:41,558 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:41,560 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-15 14:08:41,589 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-15 14:08:41,590 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 14:08:41,590 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:41,606 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 14:08:41,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 14:08:41,610 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-15 14:08:41,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:41,769 INFO L93 Difference]: Finished difference Result 71 states and 110 transitions. [2022-04-15 14:08:41,769 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 14:08:41,770 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-15 14:08:41,770 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:41,771 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-15 14:08:41,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 14:08:41,777 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-15 14:08:41,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-15 14:08:41,785 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-15 14:08:41,904 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-15 14:08:41,915 INFO L225 Difference]: With dead ends: 71 [2022-04-15 14:08:41,915 INFO L226 Difference]: Without dead ends: 34 [2022-04-15 14:08:41,922 INFO L912 BasicCegarLoop]: 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-15 14:08:41,926 INFO L913 BasicCegarLoop]: 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-15 14:08:41,926 INFO L914 BasicCegarLoop]: 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-15 14:08:41,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-04-15 14:08:41,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-04-15 14:08:41,946 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:41,947 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-15 14:08:41,948 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-15 14:08:41,949 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-15 14:08:41,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:41,955 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-15 14:08:41,955 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-15 14:08:41,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:41,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:41,957 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-15 14:08:41,958 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-15 14:08:41,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:41,960 INFO L93 Difference]: Finished difference Result 34 states and 43 transitions. [2022-04-15 14:08:41,960 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-15 14:08:41,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:41,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:41,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:41,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:41,962 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-15 14:08:41,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 43 transitions. [2022-04-15 14:08:41,964 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 43 transitions. Word has length 28 [2022-04-15 14:08:41,965 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:41,965 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 43 transitions. [2022-04-15 14:08:41,965 INFO L479 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-15 14:08:41,965 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 43 transitions. [2022-04-15 14:08:42,000 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-15 14:08:42,000 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 43 transitions. [2022-04-15 14:08:42,001 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 14:08:42,001 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:42,001 INFO L499 BasicCegarLoop]: 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-15 14:08:42,001 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 14:08:42,002 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:42,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:42,002 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 1 times [2022-04-15 14:08:42,002 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:42,002 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1908415670] [2022-04-15 14:08:42,003 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:42,003 INFO L85 PathProgramCache]: Analyzing trace with hash 1378913883, now seen corresponding path program 2 times [2022-04-15 14:08:42,003 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:42,003 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [871605468] [2022-04-15 14:08:42,003 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:42,003 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:42,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:42,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [204802523] [2022-04-15 14:08:42,029 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:42,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:42,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:42,031 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-15 14:08:42,032 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-15 14:08:42,071 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 14:08:42,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:42,082 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 14:08:42,089 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:42,092 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:42,195 INFO L272 TraceCheckUtils]: 0: Hoare triple {340#true} call ULTIMATE.init(); {340#true} is VALID [2022-04-15 14:08:42,195 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-15 14:08:42,195 INFO L290 TraceCheckUtils]: 2: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-15 14:08:42,195 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {340#true} {340#true} #98#return; {340#true} is VALID [2022-04-15 14:08:42,196 INFO L272 TraceCheckUtils]: 4: Hoare triple {340#true} call #t~ret6 := main(); {340#true} is VALID [2022-04-15 14:08:42,196 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-15 14:08:42,196 INFO L272 TraceCheckUtils]: 6: Hoare triple {340#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {340#true} is VALID [2022-04-15 14:08:42,196 INFO L290 TraceCheckUtils]: 7: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-15 14:08:42,196 INFO L290 TraceCheckUtils]: 8: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-15 14:08:42,196 INFO L290 TraceCheckUtils]: 9: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-15 14:08:42,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {340#true} {340#true} #78#return; {340#true} is VALID [2022-04-15 14:08:42,197 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-15 14:08:42,197 INFO L272 TraceCheckUtils]: 12: Hoare triple {340#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {340#true} is VALID [2022-04-15 14:08:42,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-15 14:08:42,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-15 14:08:42,197 INFO L290 TraceCheckUtils]: 15: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-15 14:08:42,198 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {340#true} {340#true} #80#return; {340#true} is VALID [2022-04-15 14:08:42,198 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-15 14:08:42,198 INFO L290 TraceCheckUtils]: 18: Hoare triple {340#true} ~cond := #in~cond; {340#true} is VALID [2022-04-15 14:08:42,198 INFO L290 TraceCheckUtils]: 19: Hoare triple {340#true} assume !(0 == ~cond); {340#true} is VALID [2022-04-15 14:08:42,198 INFO L290 TraceCheckUtils]: 20: Hoare triple {340#true} assume true; {340#true} is VALID [2022-04-15 14:08:42,198 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {340#true} {340#true} #82#return; {340#true} is VALID [2022-04-15 14:08:42,199 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-15 14:08:42,199 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-15 14:08:42,200 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-15 14:08:42,201 INFO L290 TraceCheckUtils]: 25: Hoare triple {418#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {422#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:42,201 INFO L290 TraceCheckUtils]: 26: Hoare triple {422#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {341#false} is VALID [2022-04-15 14:08:42,201 INFO L290 TraceCheckUtils]: 27: Hoare triple {341#false} assume !false; {341#false} is VALID [2022-04-15 14:08:42,201 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-15 14:08:42,202 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:08:42,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:42,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [871605468] [2022-04-15 14:08:42,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:08:42,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [204802523] [2022-04-15 14:08:42,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [204802523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:42,202 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:42,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:08:42,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:42,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1908415670] [2022-04-15 14:08:42,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1908415670] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:42,204 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:42,204 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:08:42,204 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [806289862] [2022-04-15 14:08:42,204 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:42,211 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-15 14:08:42,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:42,212 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-15 14:08:42,246 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-15 14:08:42,246 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:08:42,246 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:42,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:08:42,247 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:08:42,247 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-15 14:08:42,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:42,408 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-15 14:08:42,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:08:42,408 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-15 14:08:42,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:42,409 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-15 14:08:42,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-15 14:08:42,414 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-15 14:08:42,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2022-04-15 14:08:42,415 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2022-04-15 14:08:42,467 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-15 14:08:42,470 INFO L225 Difference]: With dead ends: 45 [2022-04-15 14:08:42,471 INFO L226 Difference]: Without dead ends: 43 [2022-04-15 14:08:42,475 INFO L912 BasicCegarLoop]: 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-15 14:08:42,476 INFO L913 BasicCegarLoop]: 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-15 14:08:42,481 INFO L914 BasicCegarLoop]: 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-15 14:08:42,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-15 14:08:42,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 40. [2022-04-15 14:08:42,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:42,497 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-15 14:08:42,498 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-15 14:08:42,498 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-15 14:08:42,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:42,500 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 14:08:42,500 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 14:08:42,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:42,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:42,501 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-15 14:08:42,501 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-15 14:08:42,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:42,504 INFO L93 Difference]: Finished difference Result 43 states and 54 transitions. [2022-04-15 14:08:42,504 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-15 14:08:42,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:42,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:42,504 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:42,504 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:42,505 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-15 14:08:42,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 49 transitions. [2022-04-15 14:08:42,506 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 49 transitions. Word has length 28 [2022-04-15 14:08:42,507 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:42,507 INFO L478 AbstractCegarLoop]: Abstraction has 40 states and 49 transitions. [2022-04-15 14:08:42,507 INFO L479 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-15 14:08:42,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 40 states and 49 transitions. [2022-04-15 14:08:42,549 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-15 14:08:42,549 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 49 transitions. [2022-04-15 14:08:42,551 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 14:08:42,551 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:42,551 INFO L499 BasicCegarLoop]: 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-15 14:08:42,570 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-15 14:08:42,767 WARN L460 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-15 14:08:42,768 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:42,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:42,768 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 1 times [2022-04-15 14:08:42,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:42,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [704954957] [2022-04-15 14:08:42,769 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:42,769 INFO L85 PathProgramCache]: Analyzing trace with hash -1928335320, now seen corresponding path program 2 times [2022-04-15 14:08:42,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:42,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1911494088] [2022-04-15 14:08:42,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:42,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:42,783 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:42,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1681046473] [2022-04-15 14:08:42,783 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:42,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:42,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:42,784 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-15 14:08:42,785 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-15 14:08:42,817 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:08:42,817 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:42,818 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-15 14:08:42,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:42,826 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:43,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {686#true} call ULTIMATE.init(); {686#true} is VALID [2022-04-15 14:08:43,065 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-15 14:08:43,065 INFO L290 TraceCheckUtils]: 2: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-15 14:08:43,065 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {686#true} {686#true} #98#return; {686#true} is VALID [2022-04-15 14:08:43,065 INFO L272 TraceCheckUtils]: 4: Hoare triple {686#true} call #t~ret6 := main(); {686#true} is VALID [2022-04-15 14:08:43,065 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-15 14:08:43,065 INFO L272 TraceCheckUtils]: 6: Hoare triple {686#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {686#true} is VALID [2022-04-15 14:08:43,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-15 14:08:43,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-15 14:08:43,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-15 14:08:43,066 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {686#true} {686#true} #78#return; {686#true} is VALID [2022-04-15 14:08:43,066 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-15 14:08:43,066 INFO L272 TraceCheckUtils]: 12: Hoare triple {686#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {686#true} is VALID [2022-04-15 14:08:43,067 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-15 14:08:43,067 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-15 14:08:43,067 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-15 14:08:43,068 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 50))} is VALID [2022-04-15 14:08:43,068 INFO L272 TraceCheckUtils]: 17: Hoare triple {741#(and (<= 0 main_~y~0) (<= main_~y~0 50))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {686#true} is VALID [2022-04-15 14:08:43,068 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-15 14:08:43,069 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-15 14:08:43,069 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-15 14:08:43,069 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {734#(not (= |assume_abort_if_not_#in~cond| 0))} {741#(and (<= 0 main_~y~0) (<= main_~y~0 50))} #82#return; {757#(and (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-15 14:08:43,070 INFO L290 TraceCheckUtils]: 22: Hoare triple {757#(and (<= 1 main_~y~0) (<= main_~y~0 50))} ~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 50))} is VALID [2022-04-15 14:08:43,070 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 50))} assume !false; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-15 14:08:43,070 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 50))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {686#true} is VALID [2022-04-15 14:08:43,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {686#true} ~cond := #in~cond; {686#true} is VALID [2022-04-15 14:08:43,071 INFO L290 TraceCheckUtils]: 26: Hoare triple {686#true} assume !(0 == ~cond); {686#true} is VALID [2022-04-15 14:08:43,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {686#true} assume true; {686#true} is VALID [2022-04-15 14:08:43,071 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 50))} #84#return; {761#(and (= main_~x~0 main_~r~0) (= main_~q~0 0) (<= 1 main_~y~0) (<= main_~y~0 50))} is VALID [2022-04-15 14:08:43,072 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 50))} 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-15 14:08:43,072 INFO L290 TraceCheckUtils]: 30: Hoare triple {783#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {787#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:43,073 INFO L290 TraceCheckUtils]: 31: Hoare triple {787#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {687#false} is VALID [2022-04-15 14:08:43,073 INFO L290 TraceCheckUtils]: 32: Hoare triple {687#false} assume !false; {687#false} is VALID [2022-04-15 14:08:43,073 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-15 14:08:43,073 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:08:43,074 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:43,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1911494088] [2022-04-15 14:08:43,074 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:08:43,074 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1681046473] [2022-04-15 14:08:43,074 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1681046473] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:43,074 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:43,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:08:43,074 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:43,075 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [704954957] [2022-04-15 14:08:43,075 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [704954957] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:43,075 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:43,075 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 14:08:43,075 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1226887946] [2022-04-15 14:08:43,075 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:43,075 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-15 14:08:43,076 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:43,076 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-15 14:08:43,104 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-15 14:08:43,104 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 14:08:43,104 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:43,105 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 14:08:43,105 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:08:43,105 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-15 14:08:43,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:43,487 INFO L93 Difference]: Finished difference Result 57 states and 72 transitions. [2022-04-15 14:08:43,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 14:08:43,488 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-15 14:08:43,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:43,488 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-15 14:08:43,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-15 14:08:43,490 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-15 14:08:43,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 69 transitions. [2022-04-15 14:08:43,491 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 69 transitions. [2022-04-15 14:08:43,545 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-15 14:08:43,547 INFO L225 Difference]: With dead ends: 57 [2022-04-15 14:08:43,547 INFO L226 Difference]: Without dead ends: 54 [2022-04-15 14:08:43,547 INFO L912 BasicCegarLoop]: 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-15 14:08:43,548 INFO L913 BasicCegarLoop]: 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-15 14:08:43,548 INFO L914 BasicCegarLoop]: 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-15 14:08:43,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2022-04-15 14:08:43,609 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 53. [2022-04-15 14:08:43,609 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:43,611 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-15 14:08:43,612 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-15 14:08:43,612 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-15 14:08:43,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:43,617 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-15 14:08:43,617 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-15 14:08:43,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:43,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:43,621 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-15 14:08:43,627 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-15 14:08:43,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:43,631 INFO L93 Difference]: Finished difference Result 54 states and 68 transitions. [2022-04-15 14:08:43,631 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 68 transitions. [2022-04-15 14:08:43,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:43,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:43,632 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:43,632 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:43,632 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-15 14:08:43,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 67 transitions. [2022-04-15 14:08:43,634 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 67 transitions. Word has length 33 [2022-04-15 14:08:43,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:43,634 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 67 transitions. [2022-04-15 14:08:43,635 INFO L479 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-15 14:08:43,635 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 67 transitions. [2022-04-15 14:08:43,691 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-15 14:08:43,691 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 67 transitions. [2022-04-15 14:08:43,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 14:08:43,692 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:43,692 INFO L499 BasicCegarLoop]: 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-15 14:08:43,712 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 14:08:43,910 WARN L460 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-15 14:08:43,910 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:43,911 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:43,911 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 1 times [2022-04-15 14:08:43,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:43,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [961772808] [2022-04-15 14:08:43,911 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:43,911 INFO L85 PathProgramCache]: Analyzing trace with hash -1297647068, now seen corresponding path program 2 times [2022-04-15 14:08:43,911 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:43,912 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [987411031] [2022-04-15 14:08:43,912 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:43,912 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:43,926 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:43,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1803013836] [2022-04-15 14:08:43,926 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:43,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:43,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:43,927 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-15 14:08:43,928 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-15 14:08:43,967 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:08:43,967 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:43,968 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 14:08:43,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:43,975 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:44,074 INFO L272 TraceCheckUtils]: 0: Hoare triple {1125#true} call ULTIMATE.init(); {1125#true} is VALID [2022-04-15 14:08:44,074 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-15 14:08:44,074 INFO L290 TraceCheckUtils]: 2: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1125#true} {1125#true} #98#return; {1125#true} is VALID [2022-04-15 14:08:44,074 INFO L272 TraceCheckUtils]: 4: Hoare triple {1125#true} call #t~ret6 := main(); {1125#true} is VALID [2022-04-15 14:08:44,074 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-15 14:08:44,074 INFO L272 TraceCheckUtils]: 6: Hoare triple {1125#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L290 TraceCheckUtils]: 7: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L290 TraceCheckUtils]: 8: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L290 TraceCheckUtils]: 9: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1125#true} {1125#true} #78#return; {1125#true} is VALID [2022-04-15 14:08:44,075 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-15 14:08:44,075 INFO L272 TraceCheckUtils]: 12: Hoare triple {1125#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L290 TraceCheckUtils]: 13: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-15 14:08:44,075 INFO L290 TraceCheckUtils]: 14: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L290 TraceCheckUtils]: 15: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1125#true} {1125#true} #80#return; {1125#true} is VALID [2022-04-15 14:08:44,076 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-15 14:08:44,076 INFO L290 TraceCheckUtils]: 18: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L290 TraceCheckUtils]: 19: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L290 TraceCheckUtils]: 20: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1125#true} {1125#true} #82#return; {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L290 TraceCheckUtils]: 22: Hoare triple {1125#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1125#true} is VALID [2022-04-15 14:08:44,076 INFO L290 TraceCheckUtils]: 23: Hoare triple {1125#true} assume !false; {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L272 TraceCheckUtils]: 24: Hoare triple {1125#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 25: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 27: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1125#true} {1125#true} #84#return; {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L272 TraceCheckUtils]: 29: Hoare triple {1125#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 30: Hoare triple {1125#true} ~cond := #in~cond; {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 31: Hoare triple {1125#true} assume !(0 == ~cond); {1125#true} is VALID [2022-04-15 14:08:44,077 INFO L290 TraceCheckUtils]: 32: Hoare triple {1125#true} assume true; {1125#true} is VALID [2022-04-15 14:08:44,078 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1125#true} {1125#true} #86#return; {1125#true} is VALID [2022-04-15 14:08:44,087 INFO L290 TraceCheckUtils]: 34: Hoare triple {1125#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 14:08:44,087 INFO L290 TraceCheckUtils]: 35: Hoare triple {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} assume !false; {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 14:08:44,088 INFO L272 TraceCheckUtils]: 36: Hoare triple {1232#(and (= main_~a~0 1) (= main_~b~0 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1239#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:08:44,088 INFO L290 TraceCheckUtils]: 37: Hoare triple {1239#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1243#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:44,089 INFO L290 TraceCheckUtils]: 38: Hoare triple {1243#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1126#false} is VALID [2022-04-15 14:08:44,089 INFO L290 TraceCheckUtils]: 39: Hoare triple {1126#false} assume !false; {1126#false} is VALID [2022-04-15 14:08:44,089 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 14:08:44,089 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:08:44,089 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:44,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [987411031] [2022-04-15 14:08:44,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:08:44,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803013836] [2022-04-15 14:08:44,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803013836] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:44,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:44,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:08:44,090 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:44,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [961772808] [2022-04-15 14:08:44,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [961772808] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:44,090 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:44,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:08:44,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [14887883] [2022-04-15 14:08:44,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:44,091 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 40 [2022-04-15 14:08:44,091 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:44,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:08:44,108 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:08:44,109 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:08:44,109 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:44,109 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:08:44,109 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:08:44,109 INFO L87 Difference]: Start difference. First operand 53 states and 67 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:08:44,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:44,318 INFO L93 Difference]: Finished difference Result 79 states and 105 transitions. [2022-04-15 14:08:44,318 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 14:08:44,319 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 40 [2022-04-15 14:08:44,319 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:44,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:08:44,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 69 transitions. [2022-04-15 14:08:44,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:08:44,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 69 transitions. [2022-04-15 14:08:44,321 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 69 transitions. [2022-04-15 14:08:44,367 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-15 14:08:44,369 INFO L225 Difference]: With dead ends: 79 [2022-04-15 14:08:44,369 INFO L226 Difference]: Without dead ends: 77 [2022-04-15 14:08:44,369 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 36 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-15 14:08:44,370 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 64 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 16 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 65 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 64 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 14:08:44,370 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [16 Valid, 144 Invalid, 65 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 64 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 14:08:44,371 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-15 14:08:44,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 70. [2022-04-15 14:08:44,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:44,416 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-15 14:08:44,417 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-15 14:08:44,417 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-15 14:08:44,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:44,420 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-15 14:08:44,420 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-15 14:08:44,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:44,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:44,420 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-15 14:08:44,421 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-15 14:08:44,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:44,423 INFO L93 Difference]: Finished difference Result 77 states and 103 transitions. [2022-04-15 14:08:44,423 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 103 transitions. [2022-04-15 14:08:44,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:44,424 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:44,424 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:44,424 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:44,424 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-15 14:08:44,426 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 92 transitions. [2022-04-15 14:08:44,427 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 92 transitions. Word has length 40 [2022-04-15 14:08:44,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:44,427 INFO L478 AbstractCegarLoop]: Abstraction has 70 states and 92 transitions. [2022-04-15 14:08:44,427 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 14:08:44,427 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 92 transitions. [2022-04-15 14:08:44,514 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-15 14:08:44,515 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 92 transitions. [2022-04-15 14:08:44,515 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 14:08:44,515 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:44,515 INFO L499 BasicCegarLoop]: 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-15 14:08:44,539 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-15 14:08:44,731 WARN L460 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-15 14:08:44,731 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:44,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:44,732 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 1 times [2022-04-15 14:08:44,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:44,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1322740201] [2022-04-15 14:08:44,732 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:44,732 INFO L85 PathProgramCache]: Analyzing trace with hash -391974204, now seen corresponding path program 2 times [2022-04-15 14:08:44,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:44,733 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1656933274] [2022-04-15 14:08:44,733 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:44,733 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:44,744 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:44,745 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1684795732] [2022-04-15 14:08:44,745 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:44,745 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:44,745 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:44,746 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-15 14:08:44,747 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-15 14:08:44,779 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:08:44,779 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:44,780 INFO L263 TraceCheckSpWp]: Trace formula consists of 134 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:08:44,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:44,790 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:44,950 INFO L272 TraceCheckUtils]: 0: Hoare triple {1703#true} call ULTIMATE.init(); {1703#true} is VALID [2022-04-15 14:08:44,950 INFO L290 TraceCheckUtils]: 1: Hoare triple {1703#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); {1703#true} is VALID [2022-04-15 14:08:44,950 INFO L290 TraceCheckUtils]: 2: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1703#true} {1703#true} #98#return; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L272 TraceCheckUtils]: 4: Hoare triple {1703#true} call #t~ret6 := main(); {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L290 TraceCheckUtils]: 5: Hoare triple {1703#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; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L272 TraceCheckUtils]: 6: Hoare triple {1703#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L290 TraceCheckUtils]: 7: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L290 TraceCheckUtils]: 8: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L290 TraceCheckUtils]: 9: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1703#true} {1703#true} #78#return; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L290 TraceCheckUtils]: 11: Hoare triple {1703#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1703#true} is VALID [2022-04-15 14:08:44,951 INFO L272 TraceCheckUtils]: 12: Hoare triple {1703#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1703#true} {1703#true} #80#return; {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L272 TraceCheckUtils]: 17: Hoare triple {1703#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {1703#true} ~cond := #in~cond; {1762#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 14:08:44,953 INFO L290 TraceCheckUtils]: 19: Hoare triple {1762#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1766#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:08:44,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {1766#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1766#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 14:08:44,953 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1766#(not (= |assume_abort_if_not_#in~cond| 0))} {1703#true} #82#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-15 14:08:44,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {1773#(<= 1 main_~y~0)} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {1773#(<= 1 main_~y~0)} is VALID [2022-04-15 14:08:44,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {1773#(<= 1 main_~y~0)} assume !false; {1773#(<= 1 main_~y~0)} is VALID [2022-04-15 14:08:44,954 INFO L272 TraceCheckUtils]: 24: Hoare triple {1773#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,954 INFO L290 TraceCheckUtils]: 25: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,954 INFO L290 TraceCheckUtils]: 26: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,954 INFO L290 TraceCheckUtils]: 27: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,955 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1703#true} {1773#(<= 1 main_~y~0)} #84#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-15 14:08:44,955 INFO L272 TraceCheckUtils]: 29: Hoare triple {1773#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,955 INFO L290 TraceCheckUtils]: 30: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,955 INFO L290 TraceCheckUtils]: 31: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,956 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1703#true} {1773#(<= 1 main_~y~0)} #86#return; {1773#(<= 1 main_~y~0)} is VALID [2022-04-15 14:08:44,957 INFO L290 TraceCheckUtils]: 34: Hoare triple {1773#(<= 1 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {1813#(<= 1 main_~r~0)} is VALID [2022-04-15 14:08:44,958 INFO L290 TraceCheckUtils]: 35: Hoare triple {1813#(<= 1 main_~r~0)} assume !false; {1813#(<= 1 main_~r~0)} is VALID [2022-04-15 14:08:44,958 INFO L272 TraceCheckUtils]: 36: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,958 INFO L290 TraceCheckUtils]: 37: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,958 INFO L290 TraceCheckUtils]: 38: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,958 INFO L290 TraceCheckUtils]: 39: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,959 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {1703#true} {1813#(<= 1 main_~r~0)} #88#return; {1813#(<= 1 main_~r~0)} is VALID [2022-04-15 14:08:44,960 INFO L272 TraceCheckUtils]: 41: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {1703#true} is VALID [2022-04-15 14:08:44,960 INFO L290 TraceCheckUtils]: 42: Hoare triple {1703#true} ~cond := #in~cond; {1703#true} is VALID [2022-04-15 14:08:44,960 INFO L290 TraceCheckUtils]: 43: Hoare triple {1703#true} assume !(0 == ~cond); {1703#true} is VALID [2022-04-15 14:08:44,960 INFO L290 TraceCheckUtils]: 44: Hoare triple {1703#true} assume true; {1703#true} is VALID [2022-04-15 14:08:44,961 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1703#true} {1813#(<= 1 main_~r~0)} #90#return; {1813#(<= 1 main_~r~0)} is VALID [2022-04-15 14:08:44,961 INFO L272 TraceCheckUtils]: 46: Hoare triple {1813#(<= 1 main_~r~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {1850#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:08:44,961 INFO L290 TraceCheckUtils]: 47: Hoare triple {1850#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1854#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:44,962 INFO L290 TraceCheckUtils]: 48: Hoare triple {1854#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1704#false} is VALID [2022-04-15 14:08:44,962 INFO L290 TraceCheckUtils]: 49: Hoare triple {1704#false} assume !false; {1704#false} is VALID [2022-04-15 14:08:44,962 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-15 14:08:44,962 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:08:44,962 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:44,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1656933274] [2022-04-15 14:08:44,962 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:08:44,962 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1684795732] [2022-04-15 14:08:44,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1684795732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:44,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:44,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:08:44,963 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:44,963 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1322740201] [2022-04-15 14:08:44,963 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1322740201] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:44,963 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:44,963 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:08:44,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1299322013] [2022-04-15 14:08:44,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:44,964 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-15 14:08:44,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:44,964 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-15 14:08:44,989 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-15 14:08:44,989 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:08:44,989 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:44,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:08:44,989 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-15 14:08:44,989 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-15 14:08:45,292 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:45,292 INFO L93 Difference]: Finished difference Result 76 states and 97 transitions. [2022-04-15 14:08:45,292 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:08:45,292 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-15 14:08:45,292 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:45,292 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-15 14:08:45,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 14:08:45,293 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-15 14:08:45,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 14:08:45,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 14:08:45,327 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-15 14:08:45,329 INFO L225 Difference]: With dead ends: 76 [2022-04-15 14:08:45,329 INFO L226 Difference]: Without dead ends: 74 [2022-04-15 14:08:45,329 INFO L912 BasicCegarLoop]: 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-15 14:08:45,330 INFO L913 BasicCegarLoop]: 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-15 14:08:45,330 INFO L914 BasicCegarLoop]: 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-15 14:08:45,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-15 14:08:45,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 74. [2022-04-15 14:08:45,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:45,392 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-15 14:08:45,393 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-15 14:08:45,393 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-15 14:08:45,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:45,395 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-15 14:08:45,395 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-15 14:08:45,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:45,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:45,396 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-15 14:08:45,396 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-15 14:08:45,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:45,398 INFO L93 Difference]: Finished difference Result 74 states and 95 transitions. [2022-04-15 14:08:45,398 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-15 14:08:45,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:45,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:45,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:45,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:45,399 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-15 14:08:45,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 95 transitions. [2022-04-15 14:08:45,401 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 95 transitions. Word has length 50 [2022-04-15 14:08:45,402 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:45,402 INFO L478 AbstractCegarLoop]: Abstraction has 74 states and 95 transitions. [2022-04-15 14:08:45,402 INFO L479 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-15 14:08:45,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 95 transitions. [2022-04-15 14:08:45,487 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-15 14:08:45,487 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 95 transitions. [2022-04-15 14:08:45,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-15 14:08:45,488 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:45,488 INFO L499 BasicCegarLoop]: 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-15 14:08:45,506 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-15 14:08:45,704 WARN L460 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-15 14:08:45,704 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:45,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:45,704 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 1 times [2022-04-15 14:08:45,704 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:45,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2117766991] [2022-04-15 14:08:45,705 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:45,705 INFO L85 PathProgramCache]: Analyzing trace with hash 991781023, now seen corresponding path program 2 times [2022-04-15 14:08:45,705 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:45,705 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1944902742] [2022-04-15 14:08:45,705 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:45,705 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:45,719 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:45,719 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [544114914] [2022-04-15 14:08:45,719 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:45,719 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:45,719 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:45,721 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-15 14:08:45,722 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-15 14:08:45,756 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:08:45,756 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:45,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 14:08:45,765 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:45,766 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:46,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {2314#true} call ULTIMATE.init(); {2314#true} is VALID [2022-04-15 14:08:46,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {2314#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); {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2314#true} {2314#true} #98#return; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L272 TraceCheckUtils]: 4: Hoare triple {2314#true} call #t~ret6 := main(); {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {2314#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; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L272 TraceCheckUtils]: 6: Hoare triple {2314#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2314#true} {2314#true} #78#return; {2314#true} is VALID [2022-04-15 14:08:46,001 INFO L290 TraceCheckUtils]: 11: Hoare triple {2314#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L272 TraceCheckUtils]: 12: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 13: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 14: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 15: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2314#true} {2314#true} #80#return; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L272 TraceCheckUtils]: 17: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 18: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 19: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L290 TraceCheckUtils]: 20: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,002 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2314#true} {2314#true} #82#return; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {2314#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 23: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L272 TraceCheckUtils]: 24: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 25: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2314#true} {2314#true} #84#return; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L272 TraceCheckUtils]: 29: Hoare triple {2314#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,003 INFO L290 TraceCheckUtils]: 31: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L290 TraceCheckUtils]: 32: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2314#true} {2314#true} #86#return; {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L290 TraceCheckUtils]: 34: Hoare triple {2314#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L290 TraceCheckUtils]: 35: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L272 TraceCheckUtils]: 36: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,004 INFO L290 TraceCheckUtils]: 37: Hoare triple {2314#true} ~cond := #in~cond; {2430#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:46,005 INFO L290 TraceCheckUtils]: 38: Hoare triple {2430#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:08:46,006 INFO L290 TraceCheckUtils]: 39: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:08:46,006 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2314#true} #88#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-15 14:08:46,007 INFO L272 TraceCheckUtils]: 41: Hoare triple {2441#(= 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)); {2314#true} is VALID [2022-04-15 14:08:46,007 INFO L290 TraceCheckUtils]: 42: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,007 INFO L290 TraceCheckUtils]: 43: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,007 INFO L290 TraceCheckUtils]: 44: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,007 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2314#true} {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} #90#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-15 14:08:46,008 INFO L272 TraceCheckUtils]: 46: Hoare triple {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:46,008 INFO L290 TraceCheckUtils]: 47: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:46,008 INFO L290 TraceCheckUtils]: 48: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:46,008 INFO L290 TraceCheckUtils]: 49: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:46,012 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2314#true} {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} #92#return; {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} is VALID [2022-04-15 14:08:46,013 INFO L290 TraceCheckUtils]: 51: Hoare triple {2441#(= main_~b~0 (* main_~a~0 main_~y~0))} assume !!(~r~0 >= 2 * ~b~0); {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-15 14:08:46,014 INFO L272 TraceCheckUtils]: 52: Hoare triple {2475#(<= (* 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)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:08:46,014 INFO L290 TraceCheckUtils]: 53: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:46,014 INFO L290 TraceCheckUtils]: 54: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2315#false} is VALID [2022-04-15 14:08:46,014 INFO L290 TraceCheckUtils]: 55: Hoare triple {2315#false} assume !false; {2315#false} is VALID [2022-04-15 14:08:46,015 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-15 14:08:46,015 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:08:54,405 INFO L290 TraceCheckUtils]: 55: Hoare triple {2315#false} assume !false; {2315#false} is VALID [2022-04-15 14:08:54,406 INFO L290 TraceCheckUtils]: 54: Hoare triple {2483#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2315#false} is VALID [2022-04-15 14:08:54,406 INFO L290 TraceCheckUtils]: 53: Hoare triple {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2483#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:54,408 INFO L272 TraceCheckUtils]: 52: Hoare triple {2475#(<= (* 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)); {2479#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:08:54,408 INFO L290 TraceCheckUtils]: 51: Hoare triple {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} assume !!(~r~0 >= 2 * ~b~0); {2475#(<= (* 2 (* main_~a~0 main_~y~0)) main_~r~0)} is VALID [2022-04-15 14:08:54,414 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2314#true} {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #92#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-15 14:08:54,414 INFO L290 TraceCheckUtils]: 49: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,414 INFO L290 TraceCheckUtils]: 48: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,414 INFO L290 TraceCheckUtils]: 47: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,414 INFO L272 TraceCheckUtils]: 46: Hoare triple {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,415 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2314#true} {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} #90#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-15 14:08:54,415 INFO L290 TraceCheckUtils]: 44: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,415 INFO L290 TraceCheckUtils]: 43: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,415 INFO L290 TraceCheckUtils]: 42: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,415 INFO L272 TraceCheckUtils]: 41: Hoare triple {2502#(<= (* 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)); {2314#true} is VALID [2022-04-15 14:08:54,416 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} {2314#true} #88#return; {2502#(<= (* 2 (* main_~a~0 main_~y~0)) (* main_~b~0 2))} is VALID [2022-04-15 14:08:54,416 INFO L290 TraceCheckUtils]: 39: Hoare triple {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:08:54,416 INFO L290 TraceCheckUtils]: 38: Hoare triple {2545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2434#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 37: Hoare triple {2314#true} ~cond := #in~cond; {2545#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:08:54,417 INFO L272 TraceCheckUtils]: 36: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 35: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 34: Hoare triple {2314#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2314#true} {2314#true} #86#return; {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 32: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 31: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L290 TraceCheckUtils]: 30: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L272 TraceCheckUtils]: 29: Hoare triple {2314#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,417 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2314#true} {2314#true} #84#return; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 27: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 26: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 25: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L272 TraceCheckUtils]: 24: Hoare triple {2314#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {2314#true} assume !false; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {2314#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2314#true} {2314#true} #82#return; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L272 TraceCheckUtils]: 17: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,418 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2314#true} {2314#true} #80#return; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 15: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 14: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 13: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L272 TraceCheckUtils]: 12: Hoare triple {2314#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 11: Hoare triple {2314#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2314#true} {2314#true} #78#return; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 9: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {2314#true} assume !(0 == ~cond); {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {2314#true} ~cond := #in~cond; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L272 TraceCheckUtils]: 6: Hoare triple {2314#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L290 TraceCheckUtils]: 5: Hoare triple {2314#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; {2314#true} is VALID [2022-04-15 14:08:54,419 INFO L272 TraceCheckUtils]: 4: Hoare triple {2314#true} call #t~ret6 := main(); {2314#true} is VALID [2022-04-15 14:08:54,420 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2314#true} {2314#true} #98#return; {2314#true} is VALID [2022-04-15 14:08:54,420 INFO L290 TraceCheckUtils]: 2: Hoare triple {2314#true} assume true; {2314#true} is VALID [2022-04-15 14:08:54,420 INFO L290 TraceCheckUtils]: 1: Hoare triple {2314#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); {2314#true} is VALID [2022-04-15 14:08:54,420 INFO L272 TraceCheckUtils]: 0: Hoare triple {2314#true} call ULTIMATE.init(); {2314#true} is VALID [2022-04-15 14:08:54,420 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-15 14:08:54,420 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:08:54,420 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1944902742] [2022-04-15 14:08:54,420 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:08:54,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [544114914] [2022-04-15 14:08:54,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [544114914] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:08:54,421 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:08:54,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 14:08:54,421 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:08:54,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2117766991] [2022-04-15 14:08:54,421 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2117766991] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:08:54,421 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:08:54,421 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:08:54,421 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [731935646] [2022-04-15 14:08:54,421 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:08:54,422 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-15 14:08:54,422 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:08:54,422 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-15 14:08:54,458 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-15 14:08:54,458 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:08:54,459 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:54,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:08:54,459 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-15 14:08:54,460 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-15 14:08:54,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:54,815 INFO L93 Difference]: Finished difference Result 80 states and 100 transitions. [2022-04-15 14:08:54,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 14:08:54,815 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-15 14:08:54,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:08:54,815 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-15 14:08:54,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 14:08:54,816 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-15 14:08:54,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 48 transitions. [2022-04-15 14:08:54,817 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 48 transitions. [2022-04-15 14:08:54,849 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-15 14:08:54,850 INFO L225 Difference]: With dead ends: 80 [2022-04-15 14:08:54,850 INFO L226 Difference]: Without dead ends: 78 [2022-04-15 14:08:54,850 INFO L912 BasicCegarLoop]: 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-15 14:08:54,851 INFO L913 BasicCegarLoop]: 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-15 14:08:54,851 INFO L914 BasicCegarLoop]: 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-15 14:08:54,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-15 14:08:54,913 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 78. [2022-04-15 14:08:54,913 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:08:54,914 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-15 14:08:54,914 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-15 14:08:54,914 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-15 14:08:54,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:54,916 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-15 14:08:54,916 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-15 14:08:54,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:54,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:54,917 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-15 14:08:54,917 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-15 14:08:54,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:08:54,919 INFO L93 Difference]: Finished difference Result 78 states and 98 transitions. [2022-04-15 14:08:54,919 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-15 14:08:54,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:08:54,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:08:54,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:08:54,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:08:54,920 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-15 14:08:54,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 98 transitions. [2022-04-15 14:08:54,922 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 98 transitions. Word has length 56 [2022-04-15 14:08:54,922 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:08:54,922 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 98 transitions. [2022-04-15 14:08:54,922 INFO L479 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-15 14:08:54,922 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 98 transitions. [2022-04-15 14:08:55,008 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-15 14:08:55,008 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 98 transitions. [2022-04-15 14:08:55,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-15 14:08:55,009 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:08:55,009 INFO L499 BasicCegarLoop]: 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-15 14:08:55,025 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-15 14:08:55,223 WARN L460 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-15 14:08:55,223 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:08:55,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:08:55,224 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 1 times [2022-04-15 14:08:55,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:08:55,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1660699431] [2022-04-15 14:08:55,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:08:55,224 INFO L85 PathProgramCache]: Analyzing trace with hash -2096667334, now seen corresponding path program 2 times [2022-04-15 14:08:55,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:08:55,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1439168298] [2022-04-15 14:08:55,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:08:55,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:08:55,247 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:08:55,247 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [913961494] [2022-04-15 14:08:55,247 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:08:55,248 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:08:55,248 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:08:55,248 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-15 14:08:55,251 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-15 14:08:55,285 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:08:55,285 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:08:55,286 INFO L263 TraceCheckSpWp]: Trace formula consists of 158 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-15 14:08:55,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:08:55,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:08:55,534 INFO L272 TraceCheckUtils]: 0: Hoare triple {3137#true} call ULTIMATE.init(); {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L290 TraceCheckUtils]: 1: Hoare triple {3137#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); {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L290 TraceCheckUtils]: 2: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3137#true} {3137#true} #98#return; {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {3137#true} call #t~ret6 := main(); {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {3137#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; {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L272 TraceCheckUtils]: 6: Hoare triple {3137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L290 TraceCheckUtils]: 7: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,534 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3137#true} {3137#true} #78#return; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {3137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L272 TraceCheckUtils]: 12: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 13: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 14: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 15: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3137#true} {3137#true} #80#return; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L272 TraceCheckUtils]: 17: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,535 INFO L290 TraceCheckUtils]: 20: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,536 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3137#true} {3137#true} #82#return; {3137#true} is VALID [2022-04-15 14:08:55,536 INFO L290 TraceCheckUtils]: 22: Hoare triple {3137#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:08:55,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:08:55,537 INFO L272 TraceCheckUtils]: 24: Hoare triple {3208#(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)); {3137#true} is VALID [2022-04-15 14:08:55,537 INFO L290 TraceCheckUtils]: 25: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,537 INFO L290 TraceCheckUtils]: 26: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,537 INFO L290 TraceCheckUtils]: 27: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,538 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:08:55,538 INFO L272 TraceCheckUtils]: 29: Hoare triple {3208#(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)); {3137#true} is VALID [2022-04-15 14:08:55,538 INFO L290 TraceCheckUtils]: 30: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,538 INFO L290 TraceCheckUtils]: 31: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,538 INFO L290 TraceCheckUtils]: 32: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,539 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:08:55,539 INFO L290 TraceCheckUtils]: 34: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3245#(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-15 14:08:55,539 INFO L290 TraceCheckUtils]: 35: Hoare triple {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {3245#(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-15 14:08:55,540 INFO L272 TraceCheckUtils]: 36: Hoare triple {3245#(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)); {3137#true} is VALID [2022-04-15 14:08:55,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,540 INFO L290 TraceCheckUtils]: 38: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,540 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {3245#(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-15 14:08:55,541 INFO L272 TraceCheckUtils]: 41: Hoare triple {3245#(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)); {3137#true} is VALID [2022-04-15 14:08:55,541 INFO L290 TraceCheckUtils]: 42: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,541 INFO L290 TraceCheckUtils]: 44: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,541 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {3245#(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-15 14:08:55,541 INFO L272 TraceCheckUtils]: 46: Hoare triple {3245#(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)); {3137#true} is VALID [2022-04-15 14:08:55,541 INFO L290 TraceCheckUtils]: 47: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,542 INFO L290 TraceCheckUtils]: 48: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,542 INFO L290 TraceCheckUtils]: 49: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,542 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3137#true} {3245#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {3245#(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-15 14:08:55,543 INFO L290 TraceCheckUtils]: 51: Hoare triple {3245#(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); {3245#(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-15 14:08:55,543 INFO L290 TraceCheckUtils]: 52: Hoare triple {3245#(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; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-15 14:08:55,543 INFO L290 TraceCheckUtils]: 53: Hoare triple {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} assume !false; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-15 14:08:55,544 INFO L272 TraceCheckUtils]: 54: Hoare triple {3300#(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)); {3137#true} is VALID [2022-04-15 14:08:55,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:08:55,544 INFO L290 TraceCheckUtils]: 56: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:08:55,544 INFO L290 TraceCheckUtils]: 57: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:08:55,545 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3137#true} {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} #84#return; {3300#(and (= (+ main_~x~0 (* (- 1) main_~r~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-15 14:08:55,545 INFO L272 TraceCheckUtils]: 59: Hoare triple {3300#(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)); {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:08:55,546 INFO L290 TraceCheckUtils]: 60: Hoare triple {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3326#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:08:55,546 INFO L290 TraceCheckUtils]: 61: Hoare triple {3326#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3138#false} is VALID [2022-04-15 14:08:55,546 INFO L290 TraceCheckUtils]: 62: Hoare triple {3138#false} assume !false; {3138#false} is VALID [2022-04-15 14:08:55,546 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-15 14:08:55,546 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:09:12,662 INFO L290 TraceCheckUtils]: 62: Hoare triple {3138#false} assume !false; {3138#false} is VALID [2022-04-15 14:09:12,663 INFO L290 TraceCheckUtils]: 61: Hoare triple {3326#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3138#false} is VALID [2022-04-15 14:09:12,663 INFO L290 TraceCheckUtils]: 60: Hoare triple {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3326#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:09:12,664 INFO L272 TraceCheckUtils]: 59: Hoare triple {3342#(= (+ (* 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)); {3322#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:09:12,665 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {3137#true} {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #84#return; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:09:12,665 INFO L290 TraceCheckUtils]: 57: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,665 INFO L290 TraceCheckUtils]: 56: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,665 INFO L290 TraceCheckUtils]: 55: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,665 INFO L272 TraceCheckUtils]: 54: Hoare triple {3342#(= (+ (* 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)); {3137#true} is VALID [2022-04-15 14:09:12,666 INFO L290 TraceCheckUtils]: 53: Hoare triple {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !false; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:09:12,673 INFO L290 TraceCheckUtils]: 52: Hoare triple {3364#(= 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; {3342#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:09:12,674 INFO L290 TraceCheckUtils]: 51: Hoare triple {3364#(= 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); {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,674 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #92#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,674 INFO L290 TraceCheckUtils]: 49: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,675 INFO L290 TraceCheckUtils]: 48: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,675 INFO L290 TraceCheckUtils]: 47: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,675 INFO L272 TraceCheckUtils]: 46: Hoare triple {3364#(= 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)); {3137#true} is VALID [2022-04-15 14:09:12,675 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #90#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,675 INFO L290 TraceCheckUtils]: 44: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,675 INFO L290 TraceCheckUtils]: 43: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L290 TraceCheckUtils]: 42: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L272 TraceCheckUtils]: 41: Hoare triple {3364#(= 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)); {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3137#true} {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} #88#return; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,676 INFO L272 TraceCheckUtils]: 36: Hoare triple {3364#(= 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)); {3137#true} is VALID [2022-04-15 14:09:12,677 INFO L290 TraceCheckUtils]: 35: Hoare triple {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} assume !false; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {3364#(= main_~x~0 (+ main_~r~0 (* (- 1) main_~b~0) (* main_~y~0 (+ main_~a~0 main_~q~0))))} is VALID [2022-04-15 14:09:12,678 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:12,678 INFO L290 TraceCheckUtils]: 32: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,678 INFO L272 TraceCheckUtils]: 29: Hoare triple {3208#(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)); {3137#true} is VALID [2022-04-15 14:09:12,679 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3137#true} {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:12,679 INFO L290 TraceCheckUtils]: 27: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,679 INFO L290 TraceCheckUtils]: 26: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,679 INFO L272 TraceCheckUtils]: 24: Hoare triple {3208#(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)); {3137#true} is VALID [2022-04-15 14:09:12,679 INFO L290 TraceCheckUtils]: 23: Hoare triple {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 22: Hoare triple {3137#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {3208#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:12,680 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3137#true} {3137#true} #82#return; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L272 TraceCheckUtils]: 17: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3137#true} {3137#true} #80#return; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 15: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 14: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 13: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L272 TraceCheckUtils]: 12: Hoare triple {3137#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:09:12,680 INFO L290 TraceCheckUtils]: 11: Hoare triple {3137#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3137#true} {3137#true} #78#return; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {3137#true} assume !(0 == ~cond); {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {3137#true} ~cond := #in~cond; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L272 TraceCheckUtils]: 6: Hoare triple {3137#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 5: Hoare triple {3137#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; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {3137#true} call #t~ret6 := main(); {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3137#true} {3137#true} #98#return; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {3137#true} assume true; {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {3137#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); {3137#true} is VALID [2022-04-15 14:09:12,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {3137#true} call ULTIMATE.init(); {3137#true} is VALID [2022-04-15 14:09:12,681 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-15 14:09:12,682 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:09:12,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1439168298] [2022-04-15 14:09:12,682 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:09:12,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [913961494] [2022-04-15 14:09:12,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [913961494] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:09:12,682 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:09:12,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-15 14:09:12,682 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:09:12,682 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1660699431] [2022-04-15 14:09:12,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1660699431] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:09:12,682 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:09:12,682 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 14:09:12,683 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [696628938] [2022-04-15 14:09:12,683 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:09:12,683 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-15 14:09:12,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:09:12,683 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-15 14:09:12,714 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-15 14:09:12,714 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 14:09:12,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:09:12,714 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 14:09:12,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 14:09:12,715 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-15 14:09:13,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:09:13,240 INFO L93 Difference]: Finished difference Result 111 states and 142 transitions. [2022-04-15 14:09:13,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 14:09:13,240 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-15 14:09:13,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:09:13,240 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-15 14:09:13,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-15 14:09:13,242 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-15 14:09:13,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-04-15 14:09:13,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-04-15 14:09:13,327 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-15 14:09:13,329 INFO L225 Difference]: With dead ends: 111 [2022-04-15 14:09:13,329 INFO L226 Difference]: Without dead ends: 108 [2022-04-15 14:09:13,329 INFO L912 BasicCegarLoop]: 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-15 14:09:13,329 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 19 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 186 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:09:13,330 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 222 Invalid, 196 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 186 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:09:13,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-15 14:09:13,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 103. [2022-04-15 14:09:13,429 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:09:13,429 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-15 14:09:13,429 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-15 14:09:13,429 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-15 14:09:13,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:09:13,433 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-15 14:09:13,433 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-15 14:09:13,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:09:13,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:09:13,434 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-15 14:09:13,435 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-15 14:09:13,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:09:13,439 INFO L93 Difference]: Finished difference Result 108 states and 138 transitions. [2022-04-15 14:09:13,439 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 138 transitions. [2022-04-15 14:09:13,440 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:09:13,440 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:09:13,440 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:09:13,440 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:09:13,441 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-15 14:09:13,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 132 transitions. [2022-04-15 14:09:13,443 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 132 transitions. Word has length 63 [2022-04-15 14:09:13,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:09:13,444 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 132 transitions. [2022-04-15 14:09:13,444 INFO L479 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-15 14:09:13,444 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 132 transitions. [2022-04-15 14:09:13,570 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-15 14:09:13,571 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 132 transitions. [2022-04-15 14:09:13,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 14:09:13,571 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:09:13,571 INFO L499 BasicCegarLoop]: 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-15 14:09:13,587 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-15 14:09:13,772 WARN L460 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-15 14:09:13,772 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:09:13,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:09:13,773 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 1 times [2022-04-15 14:09:13,773 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:09:13,773 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1214264233] [2022-04-15 14:09:13,777 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:09:13,777 INFO L85 PathProgramCache]: Analyzing trace with hash -2105983492, now seen corresponding path program 2 times [2022-04-15 14:09:13,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:09:13,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [343975954] [2022-04-15 14:09:13,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:09:13,777 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:09:13,799 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:09:13,800 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2126730908] [2022-04-15 14:09:13,800 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 14:09:13,800 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:09:13,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:09:13,812 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-15 14:09:13,812 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-15 14:09:13,855 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 14:09:13,855 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:09:13,856 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 14:09:13,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:09:13,868 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:09:14,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {4169#true} call ULTIMATE.init(); {4169#true} is VALID [2022-04-15 14:09:14,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {4169#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); {4169#true} is VALID [2022-04-15 14:09:14,700 INFO L290 TraceCheckUtils]: 2: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,700 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4169#true} {4169#true} #98#return; {4169#true} is VALID [2022-04-15 14:09:14,700 INFO L272 TraceCheckUtils]: 4: Hoare triple {4169#true} call #t~ret6 := main(); {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {4169#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; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {4169#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4169#true} {4169#true} #78#return; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 11: Hoare triple {4169#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L272 TraceCheckUtils]: 12: Hoare triple {4169#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L290 TraceCheckUtils]: 15: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4169#true} {4169#true} #80#return; {4169#true} is VALID [2022-04-15 14:09:14,701 INFO L272 TraceCheckUtils]: 17: Hoare triple {4169#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,702 INFO L290 TraceCheckUtils]: 18: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,702 INFO L290 TraceCheckUtils]: 19: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,702 INFO L290 TraceCheckUtils]: 20: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,702 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4169#true} {4169#true} #82#return; {4169#true} is VALID [2022-04-15 14:09:14,702 INFO L290 TraceCheckUtils]: 22: Hoare triple {4169#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,702 INFO L290 TraceCheckUtils]: 23: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,703 INFO L272 TraceCheckUtils]: 24: Hoare triple {4240#(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)); {4169#true} is VALID [2022-04-15 14:09:14,703 INFO L290 TraceCheckUtils]: 25: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,703 INFO L290 TraceCheckUtils]: 26: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,703 INFO L290 TraceCheckUtils]: 27: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,703 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4169#true} {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,703 INFO L272 TraceCheckUtils]: 29: Hoare triple {4240#(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)); {4169#true} is VALID [2022-04-15 14:09:14,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,704 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4169#true} {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,704 INFO L290 TraceCheckUtils]: 34: Hoare triple {4240#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,705 INFO L290 TraceCheckUtils]: 35: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,705 INFO L272 TraceCheckUtils]: 36: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~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)); {4169#true} is VALID [2022-04-15 14:09:14,705 INFO L290 TraceCheckUtils]: 37: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,705 INFO L290 TraceCheckUtils]: 38: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,705 INFO L290 TraceCheckUtils]: 39: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,706 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4169#true} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,706 INFO L272 TraceCheckUtils]: 41: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~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)); {4169#true} is VALID [2022-04-15 14:09:14,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,706 INFO L290 TraceCheckUtils]: 43: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,706 INFO L290 TraceCheckUtils]: 44: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,706 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4169#true} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,707 INFO L272 TraceCheckUtils]: 46: Hoare triple {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~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)); {4169#true} is VALID [2022-04-15 14:09:14,707 INFO L290 TraceCheckUtils]: 47: Hoare triple {4169#true} ~cond := #in~cond; {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:09:14,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:09:14,707 INFO L290 TraceCheckUtils]: 49: Hoare triple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:09:14,708 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} {4277#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,708 INFO L290 TraceCheckUtils]: 51: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~r~0 >= 2 * ~b~0); {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,709 INFO L272 TraceCheckUtils]: 52: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= 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)); {4169#true} is VALID [2022-04-15 14:09:14,709 INFO L290 TraceCheckUtils]: 53: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,709 INFO L290 TraceCheckUtils]: 54: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,709 INFO L290 TraceCheckUtils]: 55: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,709 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4169#true} {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #94#return; {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 14:09:14,710 INFO L290 TraceCheckUtils]: 57: Hoare triple {4328#(and (= main_~a~0 1) (= main_~x~0 main_~r~0) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,710 INFO L290 TraceCheckUtils]: 58: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} assume !false; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,710 INFO L272 TraceCheckUtils]: 59: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,710 INFO L290 TraceCheckUtils]: 60: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,710 INFO L290 TraceCheckUtils]: 61: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,711 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #88#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,711 INFO L272 TraceCheckUtils]: 64: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,711 INFO L290 TraceCheckUtils]: 65: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,711 INFO L290 TraceCheckUtils]: 66: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,711 INFO L290 TraceCheckUtils]: 67: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,712 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #90#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,712 INFO L272 TraceCheckUtils]: 69: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,712 INFO L290 TraceCheckUtils]: 70: Hoare triple {4169#true} ~cond := #in~cond; {4169#true} is VALID [2022-04-15 14:09:14,712 INFO L290 TraceCheckUtils]: 71: Hoare triple {4169#true} assume !(0 == ~cond); {4169#true} is VALID [2022-04-15 14:09:14,712 INFO L290 TraceCheckUtils]: 72: Hoare triple {4169#true} assume true; {4169#true} is VALID [2022-04-15 14:09:14,713 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4169#true} {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} #92#return; {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,713 INFO L290 TraceCheckUtils]: 74: Hoare triple {4350#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= main_~y~0 main_~r~0) (<= 0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} assume !(~r~0 >= 2 * ~b~0); {4402#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (< main_~r~0 (* main_~b~0 2)) (<= main_~y~0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} is VALID [2022-04-15 14:09:14,714 INFO L290 TraceCheckUtils]: 75: Hoare triple {4402#(and (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (< main_~r~0 (* main_~b~0 2)) (<= main_~y~0 main_~r~0) (= main_~q~0 0) (= main_~a~0 2))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} is VALID [2022-04-15 14:09:14,714 INFO L290 TraceCheckUtils]: 76: Hoare triple {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} assume !false; {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} is VALID [2022-04-15 14:09:14,714 INFO L272 TraceCheckUtils]: 77: Hoare triple {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {4169#true} is VALID [2022-04-15 14:09:14,715 INFO L290 TraceCheckUtils]: 78: Hoare triple {4169#true} ~cond := #in~cond; {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:09:14,715 INFO L290 TraceCheckUtils]: 79: Hoare triple {4317#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:09:14,715 INFO L290 TraceCheckUtils]: 80: Hoare triple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:09:14,716 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4321#(not (= |__VERIFIER_assert_#in~cond| 0))} {4406#(and (= (+ (* (- 1) main_~a~0) main_~q~0) 0) (< main_~x~0 (* main_~b~0 2)) (= main_~b~0 (* main_~y~0 2)) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~r~0) (= main_~a~0 2) (<= main_~y~0 main_~x~0))} #84#return; {4425#(and (= (* main_~q~0 main_~y~0) (* main_~y~0 2)) (= main_~x~0 (+ main_~r~0 (* main_~y~0 2))) (< main_~x~0 (* main_~y~0 4)) (<= main_~y~0 main_~x~0))} is VALID [2022-04-15 14:09:14,717 INFO L272 TraceCheckUtils]: 82: Hoare triple {4425#(and (= (* main_~q~0 main_~y~0) (* main_~y~0 2)) (= main_~x~0 (+ main_~r~0 (* main_~y~0 2))) (< main_~x~0 (* main_~y~0 4)) (<= main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {4429#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:09:14,717 INFO L290 TraceCheckUtils]: 83: Hoare triple {4429#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4433#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:09:14,717 INFO L290 TraceCheckUtils]: 84: Hoare triple {4433#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4170#false} is VALID [2022-04-15 14:09:14,718 INFO L290 TraceCheckUtils]: 85: Hoare triple {4170#false} assume !false; {4170#false} is VALID [2022-04-15 14:09:14,718 INFO L134 CoverageAnalysis]: Checked inductivity of 220 backedges. 54 proven. 22 refuted. 0 times theorem prover too weak. 144 trivial. 0 not checked. [2022-04-15 14:09:14,718 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:10:14,622 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:10:14,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [343975954] [2022-04-15 14:10:14,622 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:10:14,622 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2126730908] [2022-04-15 14:10:14,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2126730908] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:10:14,622 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:10:14,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-15 14:10:14,623 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:10:14,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1214264233] [2022-04-15 14:10:14,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1214264233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:10:14,623 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:10:14,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 14:10:14,623 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1057579675] [2022-04-15 14:10:14,623 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:10:14,623 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:14,624 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:10:14,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:14,663 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-15 14:10:14,663 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 14:10:14,664 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:10:14,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 14:10:14,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=284, Unknown=0, NotChecked=0, Total=380 [2022-04-15 14:10:14,664 INFO L87 Difference]: Start difference. First operand 103 states and 132 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:16,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:16,400 INFO L93 Difference]: Finished difference Result 147 states and 191 transitions. [2022-04-15 14:10:16,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 14:10:16,400 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:16,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:10:16,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:16,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 114 transitions. [2022-04-15 14:10:16,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:16,406 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 114 transitions. [2022-04-15 14:10:16,406 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 114 transitions. [2022-04-15 14:10:16,502 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-15 14:10:16,504 INFO L225 Difference]: With dead ends: 147 [2022-04-15 14:10:16,504 INFO L226 Difference]: Without dead ends: 144 [2022-04-15 14:10:16,505 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 118 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=109, Invalid=353, Unknown=0, NotChecked=0, Total=462 [2022-04-15 14:10:16,505 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 628 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 649 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 628 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 14:10:16,505 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 263 Invalid, 649 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 628 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 14:10:16,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-15 14:10:16,647 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 121. [2022-04-15 14:10:16,647 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:10:16,647 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:10:16,648 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:10:16,648 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:10:16,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:16,651 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-15 14:10:16,651 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-15 14:10:16,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:10:16,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:10:16,652 INFO L74 IsIncluded]: Start isIncluded. First operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 144 states. [2022-04-15 14:10:16,652 INFO L87 Difference]: Start difference. First operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 144 states. [2022-04-15 14:10:16,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:16,656 INFO L93 Difference]: Finished difference Result 144 states and 187 transitions. [2022-04-15 14:10:16,656 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 187 transitions. [2022-04-15 14:10:16,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:10:16,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:10:16,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:10:16,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:10:16,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 121 states, 69 states have (on average 1.1304347826086956) internal successors, (78), 72 states have internal predecessors, (78), 39 states have call successors, (39), 13 states have call predecessors, (39), 12 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-15 14:10:16,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 154 transitions. [2022-04-15 14:10:16,662 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 154 transitions. Word has length 86 [2022-04-15 14:10:16,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:10:16,662 INFO L478 AbstractCegarLoop]: Abstraction has 121 states and 154 transitions. [2022-04-15 14:10:16,663 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) 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-15 14:10:16,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 121 states and 154 transitions. [2022-04-15 14:10:16,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:10:16,827 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 154 transitions. [2022-04-15 14:10:16,828 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 94 [2022-04-15 14:10:16,828 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:10:16,828 INFO L499 BasicCegarLoop]: 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-15 14:10:16,844 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 14:10:17,035 WARN L460 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-15 14:10:17,035 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:10:17,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:10:17,036 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 3 times [2022-04-15 14:10:17,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:10:17,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [590074966] [2022-04-15 14:10:17,037 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:10:17,037 INFO L85 PathProgramCache]: Analyzing trace with hash -895340852, now seen corresponding path program 4 times [2022-04-15 14:10:17,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:10:17,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1919931402] [2022-04-15 14:10:17,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:10:17,037 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:10:17,061 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:10:17,061 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1509212110] [2022-04-15 14:10:17,061 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:10:17,061 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:10:17,061 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:10:17,063 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-15 14:10:17,064 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-15 14:10:17,104 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:10:17,104 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:10:17,105 INFO L263 TraceCheckSpWp]: Trace formula consists of 176 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-15 14:10:17,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:10:17,125 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:10:17,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {5433#true} call ULTIMATE.init(); {5433#true} is VALID [2022-04-15 14:10:17,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {5433#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); {5433#true} is VALID [2022-04-15 14:10:17,332 INFO L290 TraceCheckUtils]: 2: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5433#true} {5433#true} #98#return; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {5433#true} call #t~ret6 := main(); {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {5433#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; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L272 TraceCheckUtils]: 6: Hoare triple {5433#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 8: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 9: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5433#true} {5433#true} #78#return; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {5433#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L272 TraceCheckUtils]: 12: Hoare triple {5433#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5433#true} {5433#true} #80#return; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L272 TraceCheckUtils]: 17: Hoare triple {5433#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 18: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5433#true} {5433#true} #82#return; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {5433#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 23: Hoare triple {5433#true} assume !false; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L272 TraceCheckUtils]: 24: Hoare triple {5433#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 25: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 26: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L290 TraceCheckUtils]: 27: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,334 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5433#true} {5433#true} #84#return; {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L272 TraceCheckUtils]: 29: Hoare triple {5433#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5433#true} {5433#true} #86#return; {5433#true} is VALID [2022-04-15 14:10:17,335 INFO L290 TraceCheckUtils]: 34: Hoare triple {5433#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-15 14:10:17,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {5540#(<= main_~b~0 main_~y~0)} assume !false; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-15 14:10:17,336 INFO L272 TraceCheckUtils]: 36: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,336 INFO L290 TraceCheckUtils]: 37: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,336 INFO L290 TraceCheckUtils]: 38: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,336 INFO L290 TraceCheckUtils]: 39: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,336 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #88#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-15 14:10:17,336 INFO L272 TraceCheckUtils]: 41: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,336 INFO L290 TraceCheckUtils]: 42: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L290 TraceCheckUtils]: 43: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L290 TraceCheckUtils]: 44: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #90#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-15 14:10:17,337 INFO L272 TraceCheckUtils]: 46: Hoare triple {5540#(<= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L290 TraceCheckUtils]: 47: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L290 TraceCheckUtils]: 48: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,337 INFO L290 TraceCheckUtils]: 49: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,338 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5433#true} {5540#(<= main_~b~0 main_~y~0)} #92#return; {5540#(<= main_~b~0 main_~y~0)} is VALID [2022-04-15 14:10:17,338 INFO L290 TraceCheckUtils]: 51: Hoare triple {5540#(<= main_~b~0 main_~y~0)} assume !(~r~0 >= 2 * ~b~0); {5592#(and (not (<= (* main_~b~0 2) main_~r~0)) (<= main_~b~0 main_~y~0))} is VALID [2022-04-15 14:10:17,341 INFO L290 TraceCheckUtils]: 52: Hoare triple {5592#(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; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-15 14:10:17,342 INFO L290 TraceCheckUtils]: 53: Hoare triple {5596#(< main_~r~0 main_~y~0)} assume !false; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-15 14:10:17,342 INFO L272 TraceCheckUtils]: 54: Hoare triple {5596#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,342 INFO L290 TraceCheckUtils]: 55: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,342 INFO L290 TraceCheckUtils]: 56: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,342 INFO L290 TraceCheckUtils]: 57: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,343 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {5433#true} {5596#(< main_~r~0 main_~y~0)} #84#return; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-15 14:10:17,343 INFO L272 TraceCheckUtils]: 59: Hoare triple {5596#(< main_~r~0 main_~y~0)} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5433#true} is VALID [2022-04-15 14:10:17,343 INFO L290 TraceCheckUtils]: 60: Hoare triple {5433#true} ~cond := #in~cond; {5433#true} is VALID [2022-04-15 14:10:17,343 INFO L290 TraceCheckUtils]: 61: Hoare triple {5433#true} assume !(0 == ~cond); {5433#true} is VALID [2022-04-15 14:10:17,343 INFO L290 TraceCheckUtils]: 62: Hoare triple {5433#true} assume true; {5433#true} is VALID [2022-04-15 14:10:17,343 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {5433#true} {5596#(< main_~r~0 main_~y~0)} #86#return; {5596#(< main_~r~0 main_~y~0)} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 64: Hoare triple {5596#(< main_~r~0 main_~y~0)} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 65: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L272 TraceCheckUtils]: 66: Hoare triple {5434#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 67: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 68: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 69: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5434#false} {5434#false} #88#return; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L272 TraceCheckUtils]: 71: Hoare triple {5434#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 72: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 73: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L290 TraceCheckUtils]: 74: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5434#false} {5434#false} #90#return; {5434#false} is VALID [2022-04-15 14:10:17,344 INFO L272 TraceCheckUtils]: 76: Hoare triple {5434#false} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 77: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 78: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 79: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5434#false} {5434#false} #92#return; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 81: Hoare triple {5434#false} assume !(~r~0 >= 2 * ~b~0); {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 82: Hoare triple {5434#false} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 83: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L272 TraceCheckUtils]: 84: Hoare triple {5434#false} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 85: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 86: Hoare triple {5434#false} assume !(0 == ~cond); {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L290 TraceCheckUtils]: 87: Hoare triple {5434#false} assume true; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L284 TraceCheckUtils]: 88: Hoare quadruple {5434#false} {5434#false} #84#return; {5434#false} is VALID [2022-04-15 14:10:17,345 INFO L272 TraceCheckUtils]: 89: Hoare triple {5434#false} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {5434#false} is VALID [2022-04-15 14:10:17,346 INFO L290 TraceCheckUtils]: 90: Hoare triple {5434#false} ~cond := #in~cond; {5434#false} is VALID [2022-04-15 14:10:17,346 INFO L290 TraceCheckUtils]: 91: Hoare triple {5434#false} assume 0 == ~cond; {5434#false} is VALID [2022-04-15 14:10:17,346 INFO L290 TraceCheckUtils]: 92: Hoare triple {5434#false} assume !false; {5434#false} is VALID [2022-04-15 14:10:17,346 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-15 14:10:17,346 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 14:10:17,346 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:10:17,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1919931402] [2022-04-15 14:10:17,346 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:10:17,346 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1509212110] [2022-04-15 14:10:17,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1509212110] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:10:17,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:10:17,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:10:17,347 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:10:17,347 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [590074966] [2022-04-15 14:10:17,347 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [590074966] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:10:17,347 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:10:17,347 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 14:10:17,347 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1358676137] [2022-04-15 14:10:17,347 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:10:17,348 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-15 14:10:17,348 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:10:17,348 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-15 14:10:17,387 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-15 14:10:17,387 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 14:10:17,387 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:10:17,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 14:10:17,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-15 14:10:17,388 INFO L87 Difference]: Start difference. First operand 121 states and 154 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-15 14:10:17,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:17,732 INFO L93 Difference]: Finished difference Result 185 states and 240 transitions. [2022-04-15 14:10:17,732 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 14:10:17,732 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-15 14:10:17,732 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:10:17,732 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-15 14:10:17,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-15 14:10:17,733 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-15 14:10:17,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 90 transitions. [2022-04-15 14:10:17,735 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 90 transitions. [2022-04-15 14:10:17,797 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-15 14:10:17,799 INFO L225 Difference]: With dead ends: 185 [2022-04-15 14:10:17,799 INFO L226 Difference]: Without dead ends: 125 [2022-04-15 14:10:17,800 INFO L912 BasicCegarLoop]: 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-15 14:10:17,800 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 4 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 76 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 80 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 76 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:10:17,800 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 126 Invalid, 80 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 76 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 14:10:17,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-15 14:10:17,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 120. [2022-04-15 14:10:17,936 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:10:17,936 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-15 14:10:17,937 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-15 14:10:17,937 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-15 14:10:17,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:17,940 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-15 14:10:17,940 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-15 14:10:17,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:10:17,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:10:17,941 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-15 14:10:17,941 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-15 14:10:17,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:10:17,943 INFO L93 Difference]: Finished difference Result 125 states and 159 transitions. [2022-04-15 14:10:17,943 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 159 transitions. [2022-04-15 14:10:17,944 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:10:17,944 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:10:17,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:10:17,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:10:17,944 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-15 14:10:17,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 152 transitions. [2022-04-15 14:10:17,946 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 152 transitions. Word has length 93 [2022-04-15 14:10:17,946 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:10:17,946 INFO L478 AbstractCegarLoop]: Abstraction has 120 states and 152 transitions. [2022-04-15 14:10:17,947 INFO L479 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-15 14:10:17,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 120 states and 152 transitions. [2022-04-15 14:10:18,110 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-15 14:10:18,110 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 152 transitions. [2022-04-15 14:10:18,111 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 110 [2022-04-15 14:10:18,111 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:10:18,111 INFO L499 BasicCegarLoop]: 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-15 14:10:18,130 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-15 14:10:18,327 WARN L460 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-15 14:10:18,327 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:10:18,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:10:18,328 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 3 times [2022-04-15 14:10:18,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:10:18,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1238893238] [2022-04-15 14:10:18,328 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:10:18,328 INFO L85 PathProgramCache]: Analyzing trace with hash -39671046, now seen corresponding path program 4 times [2022-04-15 14:10:18,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:10:18,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1751298147] [2022-04-15 14:10:18,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:10:18,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:10:18,340 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:10:18,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [33340282] [2022-04-15 14:10:18,340 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 14:10:18,340 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:10:18,341 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:10:18,341 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-15 14:10:18,342 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-15 14:10:18,390 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 14:10:18,390 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:10:18,391 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-15 14:10:18,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:10:18,408 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:11:29,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {6579#true} call ULTIMATE.init(); {6579#true} is VALID [2022-04-15 14:11:29,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {6579#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); {6579#true} is VALID [2022-04-15 14:11:29,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6579#true} {6579#true} #98#return; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {6579#true} call #t~ret6 := main(); {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {6579#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; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {6579#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 7: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 8: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 9: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6579#true} {6579#true} #78#return; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 11: Hoare triple {6579#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L272 TraceCheckUtils]: 12: Hoare triple {6579#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 13: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6579#true} {6579#true} #80#return; {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L272 TraceCheckUtils]: 17: Hoare triple {6579#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L290 TraceCheckUtils]: 18: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6579#true} {6579#true} #82#return; {6579#true} is VALID [2022-04-15 14:11:29,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {6579#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,048 INFO L290 TraceCheckUtils]: 23: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !false; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,048 INFO L272 TraceCheckUtils]: 24: Hoare triple {6650#(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)); {6579#true} is VALID [2022-04-15 14:11:29,048 INFO L290 TraceCheckUtils]: 25: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,048 INFO L290 TraceCheckUtils]: 26: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,048 INFO L290 TraceCheckUtils]: 27: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,048 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6579#true} {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #84#return; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,048 INFO L272 TraceCheckUtils]: 29: Hoare triple {6650#(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)); {6579#true} is VALID [2022-04-15 14:11:29,049 INFO L290 TraceCheckUtils]: 30: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,049 INFO L290 TraceCheckUtils]: 31: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,049 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6579#true} {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} #86#return; {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {6650#(and (= main_~x~0 main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {6687#(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-15 14:11:29,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {6687#(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-15 14:11:29,050 INFO L272 TraceCheckUtils]: 36: Hoare triple {6687#(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)); {6579#true} is VALID [2022-04-15 14:11:29,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,050 INFO L290 TraceCheckUtils]: 38: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,051 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #88#return; {6687#(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-15 14:11:29,051 INFO L272 TraceCheckUtils]: 41: Hoare triple {6687#(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)); {6579#true} is VALID [2022-04-15 14:11:29,051 INFO L290 TraceCheckUtils]: 42: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,051 INFO L290 TraceCheckUtils]: 43: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,052 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #90#return; {6687#(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-15 14:11:29,052 INFO L272 TraceCheckUtils]: 46: Hoare triple {6687#(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)); {6579#true} is VALID [2022-04-15 14:11:29,052 INFO L290 TraceCheckUtils]: 47: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,052 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #92#return; {6687#(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-15 14:11:29,053 INFO L290 TraceCheckUtils]: 51: Hoare triple {6687#(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); {6687#(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-15 14:11:29,053 INFO L272 TraceCheckUtils]: 52: Hoare triple {6687#(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 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,053 INFO L290 TraceCheckUtils]: 53: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,053 INFO L290 TraceCheckUtils]: 54: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,053 INFO L290 TraceCheckUtils]: 55: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,054 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {6579#true} {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #94#return; {6687#(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-15 14:11:29,054 INFO L290 TraceCheckUtils]: 57: Hoare triple {6687#(and (<= main_~a~0 1) (= main_~x~0 main_~r~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,055 INFO L290 TraceCheckUtils]: 58: Hoare triple {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} assume !false; {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,055 INFO L272 TraceCheckUtils]: 59: Hoare triple {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,055 INFO L290 TraceCheckUtils]: 60: Hoare triple {6579#true} ~cond := #in~cond; {6767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:11:29,055 INFO L290 TraceCheckUtils]: 61: Hoare triple {6767#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:11:29,056 INFO L290 TraceCheckUtils]: 62: Hoare triple {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:11:29,056 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {6771#(not (= |__VERIFIER_assert_#in~cond| 0))} {6757#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0))} #88#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:11:29,056 INFO L272 TraceCheckUtils]: 64: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= 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)); {6579#true} is VALID [2022-04-15 14:11:29,056 INFO L290 TraceCheckUtils]: 65: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,056 INFO L290 TraceCheckUtils]: 66: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,057 INFO L290 TraceCheckUtils]: 67: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,057 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {6579#true} {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #90#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:11:29,057 INFO L272 TraceCheckUtils]: 69: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,057 INFO L290 TraceCheckUtils]: 70: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,057 INFO L290 TraceCheckUtils]: 71: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,057 INFO L290 TraceCheckUtils]: 72: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,058 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {6579#true} {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #92#return; {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:11:29,058 INFO L290 TraceCheckUtils]: 74: Hoare triple {6778#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} assume !!(~r~0 >= 2 * ~b~0); {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:11:29,058 INFO L272 TraceCheckUtils]: 75: Hoare triple {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= 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)); {6579#true} is VALID [2022-04-15 14:11:29,058 INFO L290 TraceCheckUtils]: 76: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,058 INFO L290 TraceCheckUtils]: 77: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,059 INFO L290 TraceCheckUtils]: 78: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,059 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6579#true} {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} #94#return; {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} is VALID [2022-04-15 14:11:29,062 INFO L290 TraceCheckUtils]: 80: Hoare triple {6812#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= main_~b~0 (* main_~y~0 2)) (<= (* main_~b~0 2) main_~r~0) (<= (div main_~a~0 2) 1) (= main_~q~0 0) (= main_~b~0 (* main_~a~0 main_~y~0)))} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-15 14:11:29,063 INFO L290 TraceCheckUtils]: 81: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} assume !false; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-15 14:11:29,063 INFO L272 TraceCheckUtils]: 82: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,063 INFO L290 TraceCheckUtils]: 83: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,063 INFO L290 TraceCheckUtils]: 84: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,063 INFO L290 TraceCheckUtils]: 85: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,064 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #88#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-15 14:11:29,064 INFO L272 TraceCheckUtils]: 87: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,064 INFO L290 TraceCheckUtils]: 88: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,064 INFO L290 TraceCheckUtils]: 89: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,064 INFO L290 TraceCheckUtils]: 90: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,065 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #90#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-15 14:11:29,065 INFO L272 TraceCheckUtils]: 92: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,065 INFO L290 TraceCheckUtils]: 93: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,065 INFO L290 TraceCheckUtils]: 94: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,065 INFO L290 TraceCheckUtils]: 95: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,065 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {6579#true} {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} #92#return; {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} is VALID [2022-04-15 14:11:29,066 INFO L290 TraceCheckUtils]: 97: Hoare triple {6831#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (<= (div (div (* (- 1) main_~a~0) (- 2)) 2) 1) (= (mod (div (- main_~a~0) (- 2)) 2) 0) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* (div (- main_~a~0) (- 2)) main_~y~0) (* main_~y~0 2)) (= main_~q~0 0) (= (* (* (div (- main_~a~0) (- 2)) main_~y~0) 2) main_~b~0))} assume !(~r~0 >= 2 * ~b~0); {6883#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= (* main_~y~0 2) (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) (< main_~r~0 (* main_~b~0 2)) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~b~0) (= main_~q~0 0))} is VALID [2022-04-15 14:11:29,069 INFO L290 TraceCheckUtils]: 98: Hoare triple {6883#(and (= (mod main_~a~0 2) 0) (= main_~x~0 main_~r~0) (= (* main_~y~0 2) (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) (< main_~r~0 (* main_~b~0 2)) (<= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~r~0) (= (* 2 (* (div (* (- 1) main_~a~0) (- 2)) main_~y~0)) main_~b~0) (= main_~q~0 0))} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-15 14:11:29,069 INFO L290 TraceCheckUtils]: 99: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} assume !false; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-15 14:11:29,070 INFO L272 TraceCheckUtils]: 100: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {6579#true} is VALID [2022-04-15 14:11:29,070 INFO L290 TraceCheckUtils]: 101: Hoare triple {6579#true} ~cond := #in~cond; {6579#true} is VALID [2022-04-15 14:11:29,070 INFO L290 TraceCheckUtils]: 102: Hoare triple {6579#true} assume !(0 == ~cond); {6579#true} is VALID [2022-04-15 14:11:29,070 INFO L290 TraceCheckUtils]: 103: Hoare triple {6579#true} assume true; {6579#true} is VALID [2022-04-15 14:11:29,070 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {6579#true} {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} #84#return; {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} is VALID [2022-04-15 14:11:29,072 INFO L272 TraceCheckUtils]: 105: Hoare triple {6887#(and (= (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) (* main_~y~0 2)) (<= (* 2 (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))) main_~x~0) (= (mod main_~q~0 2) 0) (< main_~x~0 (* (* main_~y~0 (div (* (- 1) main_~q~0) (- 2))) 4)) (= main_~r~0 (+ main_~x~0 (* (- 2) (* main_~y~0 (div (* (- 1) main_~q~0) (- 2)))))))} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {6909#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:11:29,073 INFO L290 TraceCheckUtils]: 106: Hoare triple {6909#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6913#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:11:29,073 INFO L290 TraceCheckUtils]: 107: Hoare triple {6913#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6580#false} is VALID [2022-04-15 14:11:29,073 INFO L290 TraceCheckUtils]: 108: Hoare triple {6580#false} assume !false; {6580#false} is VALID [2022-04-15 14:11:29,074 INFO L134 CoverageAnalysis]: Checked inductivity of 424 backedges. 45 proven. 42 refuted. 0 times theorem prover too weak. 337 trivial. 0 not checked. [2022-04-15 14:11:29,074 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:11:41,263 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 14:12:26,639 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:12:26,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1751298147] [2022-04-15 14:12:26,639 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:12:26,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [33340282] [2022-04-15 14:12:26,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [33340282] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 14:12:26,639 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 14:12:26,639 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14] total 14 [2022-04-15 14:12:26,639 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:12:26,639 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1238893238] [2022-04-15 14:12:26,639 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1238893238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:12:26,640 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:12:26,640 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-15 14:12:26,640 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1501551648] [2022-04-15 14:12:26,640 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:12:26,640 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-15 14:12:26,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:12:26,640 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), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-15 14:12:26,700 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-15 14:12:26,700 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-15 14:12:26,700 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:12:26,700 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-15 14:12:26,701 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=393, Unknown=1, NotChecked=0, Total=506 [2022-04-15 14:12:26,701 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), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-15 14:12:31,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:31,467 INFO L93 Difference]: Finished difference Result 164 states and 211 transitions. [2022-04-15 14:12:31,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-15 14:12:31,467 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) Word has length 109 [2022-04-15 14:12:31,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:12:31,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-15 14:12:31,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-15 14:12:31,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-15 14:12:31,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 125 transitions. [2022-04-15 14:12:31,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 125 transitions. [2022-04-15 14:12:31,598 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-15 14:12:31,600 INFO L225 Difference]: With dead ends: 164 [2022-04-15 14:12:31,601 INFO L226 Difference]: Without dead ends: 161 [2022-04-15 14:12:31,601 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 162 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=125, Invalid=474, Unknown=1, NotChecked=0, Total=600 [2022-04-15 14:12:31,601 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 29 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 612 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 649 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 612 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-15 14:12:31,602 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 235 Invalid, 649 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 612 Invalid, 0 Unknown, 0 Unchecked, 2.1s Time] [2022-04-15 14:12:31,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-15 14:12:31,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 156. [2022-04-15 14:12:31,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:12:31,825 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-15 14:12:31,825 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-15 14:12:31,825 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-15 14:12:31,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:31,829 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-15 14:12:31,829 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-15 14:12:31,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:12:31,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:12:31,829 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-15 14:12:31,830 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-15 14:12:31,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:31,833 INFO L93 Difference]: Finished difference Result 161 states and 207 transitions. [2022-04-15 14:12:31,833 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 207 transitions. [2022-04-15 14:12:31,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:12:31,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:12:31,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:12:31,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:12:31,833 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-15 14:12:31,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 156 states to 156 states and 201 transitions. [2022-04-15 14:12:31,836 INFO L78 Accepts]: Start accepts. Automaton has 156 states and 201 transitions. Word has length 109 [2022-04-15 14:12:31,837 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:12:31,837 INFO L478 AbstractCegarLoop]: Abstraction has 156 states and 201 transitions. [2022-04-15 14:12:31,837 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0714285714285716) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (20), 2 states have call predecessors, (20), 2 states have return successors, (18), 7 states have call predecessors, (18), 8 states have call successors, (18) [2022-04-15 14:12:31,837 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 156 states and 201 transitions. [2022-04-15 14:12:32,131 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-15 14:12:32,131 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 201 transitions. [2022-04-15 14:12:32,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-15 14:12:32,132 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 14:12:32,132 INFO L499 BasicCegarLoop]: 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-15 14:12:32,148 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-15 14:12:32,348 WARN L460 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-15 14:12:32,349 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 14:12:32,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 14:12:32,349 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 5 times [2022-04-15 14:12:32,349 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 14:12:32,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1129277572] [2022-04-15 14:12:32,350 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 14:12:32,350 INFO L85 PathProgramCache]: Analyzing trace with hash 800180238, now seen corresponding path program 6 times [2022-04-15 14:12:32,350 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 14:12:32,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [478121554] [2022-04-15 14:12:32,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 14:12:32,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 14:12:32,372 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 14:12:32,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [972242170] [2022-04-15 14:12:32,372 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 14:12:32,372 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 14:12:32,372 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 14:12:32,373 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-15 14:12:32,374 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-15 14:12:32,425 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-15 14:12:32,425 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 14:12:32,426 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 14:12:32,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 14:12:32,462 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 14:12:32,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {8122#true} call ULTIMATE.init(); {8122#true} is VALID [2022-04-15 14:12:32,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {8122#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); {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8122#true} {8122#true} #98#return; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L272 TraceCheckUtils]: 4: Hoare triple {8122#true} call #t~ret6 := main(); {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 5: Hoare triple {8122#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; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L272 TraceCheckUtils]: 6: Hoare triple {8122#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 7: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 8: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 9: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8122#true} {8122#true} #78#return; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {8122#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L272 TraceCheckUtils]: 12: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,768 INFO L290 TraceCheckUtils]: 13: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 14: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 15: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8122#true} {8122#true} #80#return; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L272 TraceCheckUtils]: 17: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 18: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 19: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 20: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8122#true} {8122#true} #82#return; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 22: Hoare triple {8122#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8122#true} is VALID [2022-04-15 14:12:32,769 INFO L290 TraceCheckUtils]: 23: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L272 TraceCheckUtils]: 24: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L272 TraceCheckUtils]: 29: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 31: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L272 TraceCheckUtils]: 36: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,770 INFO L290 TraceCheckUtils]: 37: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L272 TraceCheckUtils]: 41: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 42: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 43: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 44: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L272 TraceCheckUtils]: 46: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 47: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 48: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 49: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-15 14:12:32,771 INFO L290 TraceCheckUtils]: 51: Hoare triple {8122#true} assume !!(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L272 TraceCheckUtils]: 52: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 53: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 54: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 55: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8122#true} {8122#true} #94#return; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 57: Hoare triple {8122#true} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 58: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L272 TraceCheckUtils]: 59: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 60: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 61: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 62: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L272 TraceCheckUtils]: 64: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,772 INFO L290 TraceCheckUtils]: 65: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 66: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 67: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L272 TraceCheckUtils]: 69: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 70: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 71: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 72: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 74: Hoare triple {8122#true} assume !(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 75: Hoare triple {8122#true} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 76: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L272 TraceCheckUtils]: 77: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,773 INFO L290 TraceCheckUtils]: 78: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 79: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 80: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L272 TraceCheckUtils]: 82: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 83: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 84: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 85: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 87: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 88: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L272 TraceCheckUtils]: 89: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 90: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 91: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,774 INFO L290 TraceCheckUtils]: 92: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,775 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:32,775 INFO L272 TraceCheckUtils]: 94: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,775 INFO L290 TraceCheckUtils]: 95: Hoare triple {8122#true} ~cond := #in~cond; {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:12:32,775 INFO L290 TraceCheckUtils]: 96: Hoare triple {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:32,775 INFO L290 TraceCheckUtils]: 97: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:32,776 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8122#true} #90#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:32,776 INFO L272 TraceCheckUtils]: 99: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:32,776 INFO L290 TraceCheckUtils]: 100: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:32,776 INFO L290 TraceCheckUtils]: 101: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:32,776 INFO L290 TraceCheckUtils]: 102: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:32,777 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8122#true} {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:32,777 INFO L290 TraceCheckUtils]: 104: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:32,784 INFO L290 TraceCheckUtils]: 105: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8445#(= 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-15 14:12:32,784 INFO L290 TraceCheckUtils]: 106: Hoare triple {8445#(= 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; {8445#(= 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-15 14:12:32,784 INFO L272 TraceCheckUtils]: 107: Hoare triple {8445#(= 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)); {8122#true} is VALID [2022-04-15 14:12:32,784 INFO L290 TraceCheckUtils]: 108: Hoare triple {8122#true} ~cond := #in~cond; {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:12:32,785 INFO L290 TraceCheckUtils]: 109: Hoare triple {8412#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:32,785 INFO L290 TraceCheckUtils]: 110: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:32,786 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8445#(= 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; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:32,786 INFO L272 TraceCheckUtils]: 112: Hoare triple {8423#(= (+ (* 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)); {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:12:32,787 INFO L290 TraceCheckUtils]: 113: Hoare triple {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8471#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:12:32,787 INFO L290 TraceCheckUtils]: 114: Hoare triple {8471#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8123#false} is VALID [2022-04-15 14:12:32,787 INFO L290 TraceCheckUtils]: 115: Hoare triple {8123#false} assume !false; {8123#false} is VALID [2022-04-15 14:12:32,787 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-15 14:12:32,787 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 14:12:45,865 INFO L290 TraceCheckUtils]: 115: Hoare triple {8123#false} assume !false; {8123#false} is VALID [2022-04-15 14:12:45,866 INFO L290 TraceCheckUtils]: 114: Hoare triple {8471#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8123#false} is VALID [2022-04-15 14:12:45,866 INFO L290 TraceCheckUtils]: 113: Hoare triple {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8471#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 14:12:45,867 INFO L272 TraceCheckUtils]: 112: Hoare triple {8423#(= (+ (* 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)); {8467#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 14:12:45,867 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8490#(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; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:45,868 INFO L290 TraceCheckUtils]: 110: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:45,868 INFO L290 TraceCheckUtils]: 109: Hoare triple {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:45,868 INFO L290 TraceCheckUtils]: 108: Hoare triple {8122#true} ~cond := #in~cond; {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:12:45,868 INFO L272 TraceCheckUtils]: 107: Hoare triple {8490#(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)); {8122#true} is VALID [2022-04-15 14:12:45,869 INFO L290 TraceCheckUtils]: 106: Hoare triple {8490#(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; {8490#(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-15 14:12:45,875 INFO L290 TraceCheckUtils]: 105: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8490#(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-15 14:12:45,875 INFO L290 TraceCheckUtils]: 104: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} assume !(~r~0 >= 2 * ~b~0); {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:45,876 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {8122#true} {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} #92#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:45,876 INFO L290 TraceCheckUtils]: 102: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,876 INFO L290 TraceCheckUtils]: 101: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,876 INFO L290 TraceCheckUtils]: 100: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,882 INFO L272 TraceCheckUtils]: 99: Hoare triple {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,884 INFO L284 TraceCheckUtils]: 98: Hoare quadruple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} {8122#true} #90#return; {8423#(= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0)} is VALID [2022-04-15 14:12:45,884 INFO L290 TraceCheckUtils]: 97: Hoare triple {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:45,884 INFO L290 TraceCheckUtils]: 96: Hoare triple {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8416#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 95: Hoare triple {8122#true} ~cond := #in~cond; {8500#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 14:12:45,885 INFO L272 TraceCheckUtils]: 94: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L284 TraceCheckUtils]: 93: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 92: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 91: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 90: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L272 TraceCheckUtils]: 89: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 88: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 87: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 85: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 84: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L290 TraceCheckUtils]: 83: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,885 INFO L272 TraceCheckUtils]: 82: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 80: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 79: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 78: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L272 TraceCheckUtils]: 77: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 76: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 75: Hoare triple {8122#true} ~r~0 := ~r~0 - ~b~0;~q~0 := ~q~0 + ~a~0; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 74: Hoare triple {8122#true} assume !(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 72: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 71: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L290 TraceCheckUtils]: 70: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L272 TraceCheckUtils]: 69: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,886 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 67: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 66: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 65: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L272 TraceCheckUtils]: 64: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 62: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 61: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 60: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L272 TraceCheckUtils]: 59: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 58: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 57: Hoare triple {8122#true} ~a~0 := 2 * ~a~0;~b~0 := 2 * ~b~0; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {8122#true} {8122#true} #94#return; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 55: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,887 INFO L290 TraceCheckUtils]: 54: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 53: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L272 TraceCheckUtils]: 52: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 2 * ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 51: Hoare triple {8122#true} assume !!(~r~0 >= 2 * ~b~0); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8122#true} {8122#true} #92#return; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 49: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 48: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 47: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L272 TraceCheckUtils]: 46: Hoare triple {8122#true} call __VERIFIER_assert((if ~r~0 >= 0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8122#true} {8122#true} #90#return; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 44: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 43: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L290 TraceCheckUtils]: 42: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L272 TraceCheckUtils]: 41: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,888 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8122#true} {8122#true} #88#return; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 38: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 37: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L272 TraceCheckUtils]: 36: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 35: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 34: Hoare triple {8122#true} assume !!(~r~0 >= ~y~0);~a~0 := 1;~b~0 := ~y~0; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8122#true} {8122#true} #86#return; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 32: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 31: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 30: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L272 TraceCheckUtils]: 29: Hoare triple {8122#true} call __VERIFIER_assert((if ~x~0 == ~q~0 * ~y~0 + ~r~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8122#true} {8122#true} #84#return; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 27: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 25: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L272 TraceCheckUtils]: 24: Hoare triple {8122#true} call __VERIFIER_assert((if ~b~0 == ~y~0 * ~a~0 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 23: Hoare triple {8122#true} assume !false; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 22: Hoare triple {8122#true} ~q~0 := 0;~r~0 := ~x~0;~a~0 := 0;~b~0 := 0; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8122#true} {8122#true} #82#return; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 20: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 19: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 18: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L272 TraceCheckUtils]: 17: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8122#true} {8122#true} #80#return; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 15: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 14: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,890 INFO L272 TraceCheckUtils]: 12: Hoare triple {8122#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {8122#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8122#true} {8122#true} #78#return; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 9: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 8: Hoare triple {8122#true} assume !(0 == ~cond); {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 7: Hoare triple {8122#true} ~cond := #in~cond; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L272 TraceCheckUtils]: 6: Hoare triple {8122#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 50 then 1 else 0)); {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 5: Hoare triple {8122#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; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L272 TraceCheckUtils]: 4: Hoare triple {8122#true} call #t~ret6 := main(); {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8122#true} {8122#true} #98#return; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 2: Hoare triple {8122#true} assume true; {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L290 TraceCheckUtils]: 1: Hoare triple {8122#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); {8122#true} is VALID [2022-04-15 14:12:45,891 INFO L272 TraceCheckUtils]: 0: Hoare triple {8122#true} call ULTIMATE.init(); {8122#true} is VALID [2022-04-15 14:12:45,892 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-15 14:12:45,892 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 14:12:45,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [478121554] [2022-04-15 14:12:45,892 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 14:12:45,892 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [972242170] [2022-04-15 14:12:45,892 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [972242170] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 14:12:45,892 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 14:12:45,892 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 14:12:45,892 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 14:12:45,893 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1129277572] [2022-04-15 14:12:45,893 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1129277572] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 14:12:45,893 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 14:12:45,893 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 14:12:45,893 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1516026830] [2022-04-15 14:12:45,893 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 14:12:45,893 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) Word has length 116 [2022-04-15 14:12:45,893 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 14:12:45,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 14:12:45,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:12:45,937 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 14:12:45,937 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 14:12:45,937 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 14:12:45,937 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=23, Invalid=67, Unknown=0, NotChecked=0, Total=90 [2022-04-15 14:12:45,937 INFO L87 Difference]: Start difference. First operand 156 states and 201 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 14:12:46,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:46,512 INFO L93 Difference]: Finished difference Result 164 states and 207 transitions. [2022-04-15 14:12:46,512 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 14:12:46,512 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) Word has length 116 [2022-04-15 14:12:46,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 14:12:46,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 14:12:46,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-15 14:12:46,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 14:12:46,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-15 14:12:46,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-15 14:12:46,559 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 14:12:46,559 INFO L225 Difference]: With dead ends: 164 [2022-04-15 14:12:46,559 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 14:12:46,560 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 221 SyntacticMatches, 3 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2022-04-15 14:12:46,560 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 17 mSDsluCounter, 102 mSDsCounter, 0 mSdLazyCounter, 113 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 134 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 113 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 14:12:46,560 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 129 Invalid, 134 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 113 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 14:12:46,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 14:12:46,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 14:12:46,561 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 14:12:46,561 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-15 14:12:46,561 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-15 14:12:46,561 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-15 14:12:46,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:46,561 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:12:46,561 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:12:46,561 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:12:46,561 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:12:46,561 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-15 14:12:46,561 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-15 14:12:46,561 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 14:12:46,561 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 14:12:46,561 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:12:46,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:12:46,562 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 14:12:46,562 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 14:12:46,562 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 14:12:46,562 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-15 14:12:46,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 14:12:46,562 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 116 [2022-04-15 14:12:46,562 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 14:12:46,562 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 14:12:46,562 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (13), 2 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-15 14:12:46,562 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 14:12:46,562 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-15 14:12:46,562 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 14:12:46,562 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 14:12:46,564 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 14:12:46,580 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-15 14:12:46,765 WARN L460 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-15 14:12:46,766 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 14:12:56,855 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-15 14:12:56,855 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-15 14:12:56,855 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-15 14:12:56,855 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-15 14:12:56,855 INFO L878 garLoopResultBuilder]: At program point L12(line 12) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 14:12:56,855 INFO L878 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-15 14:12:56,855 INFO L878 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-15 14:12:56,855 INFO L885 garLoopResultBuilder]: At program point L64(line 64) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L878 garLoopResultBuilder]: At program point L31(line 31) the Hoare annotation is: (and (<= 1 main_~y~0) (<= main_~y~0 50)) [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point L29(line 29) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L878 garLoopResultBuilder]: At program point L29-1(line 29) the Hoare annotation is: (and (<= 0 main_~y~0) (<= main_~y~0 50)) [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 22 66) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L878 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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,856 INFO L878 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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,856 INFO L878 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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 22 66) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L878 garLoopResultBuilder]: At program point L40(lines 38 62) the Hoare annotation is: (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 1 main_~y~0) (= main_~b~0 (* main_~a~0 main_~y~0)) (<= main_~y~0 50)) [2022-04-15 14:12:56,856 INFO L878 garLoopResultBuilder]: At program point L38-2(lines 38 62) 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)) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,856 INFO L878 garLoopResultBuilder]: At program point L38-3(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 50))) (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) (and (< main_~r~0 main_~y~0) (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) .cse0 .cse1 .cse2) (and (< main_~x~0 (* main_~b~0 2)) (= main_~x~0 (+ main_~b~0 main_~r~0)) (= main_~a~0 main_~q~0) (= main_~a~0 2) .cse0 .cse1 .cse2))) [2022-04-15 14:12:56,856 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 22 66) the Hoare annotation is: true [2022-04-15 14:12:56,856 INFO L878 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) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 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) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 garLoopResultBuilder]: At program point L47-3(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)) (<= 1 main_~r~0) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 garLoopResultBuilder]: At program point L39(line 39) 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)) (<= 1 main_~y~0) (= main_~b~0 .cse0) (<= main_~y~0 50))) [2022-04-15 14:12:56,857 INFO L878 garLoopResultBuilder]: At program point L39-1(line 39) the Hoare annotation is: (and (= (+ (* main_~q~0 main_~y~0) main_~r~0) main_~x~0) (<= 1 main_~y~0) (= main_~b~0 (* main_~a~0 main_~y~0)) (<= main_~y~0 50)) [2022-04-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L878 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-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L878 garLoopResultBuilder]: At program point L16(lines 16 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:12:56,857 INFO L878 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-15 14:12:56,857 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-15 14:12:56,857 INFO L878 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-15 14:12:56,858 INFO L878 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-15 14:12:56,858 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 14:12:56,859 INFO L719 BasicCegarLoop]: Path program histogram: [6, 4, 2, 2, 2, 2, 2, 2] [2022-04-15 14:12:56,860 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 14:12:56,862 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 14:12:56,863 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 14:12:56,883 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-15 14:12:56,897 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 02:12:56 BoogieIcfgContainer [2022-04-15 14:12:56,897 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 14:12:56,898 INFO L158 Benchmark]: Toolchain (without parser) took 256216.40ms. Allocated memory was 196.1MB in the beginning and 235.9MB in the end (delta: 39.8MB). Free memory was 146.4MB in the beginning and 108.8MB in the end (delta: 37.7MB). Peak memory consumption was 116.5MB. Max. memory is 8.0GB. [2022-04-15 14:12:56,898 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 196.1MB. Free memory was 162.8MB in the beginning and 162.6MB in the end (delta: 150.3kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 14:12:56,898 INFO L158 Benchmark]: CACSL2BoogieTranslator took 241.26ms. Allocated memory is still 196.1MB. Free memory was 146.3MB in the beginning and 172.3MB in the end (delta: -26.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 14:12:56,898 INFO L158 Benchmark]: Boogie Preprocessor took 33.08ms. Allocated memory is still 196.1MB. Free memory was 171.9MB in the beginning and 170.7MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 14:12:56,898 INFO L158 Benchmark]: RCFGBuilder took 274.27ms. Allocated memory is still 196.1MB. Free memory was 170.7MB in the beginning and 158.7MB in the end (delta: 12.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-15 14:12:56,899 INFO L158 Benchmark]: TraceAbstraction took 255657.45ms. Allocated memory was 196.1MB in the beginning and 235.9MB in the end (delta: 39.8MB). Free memory was 158.1MB in the beginning and 108.8MB in the end (delta: 49.3MB). Peak memory consumption was 128.1MB. Max. memory is 8.0GB. [2022-04-15 14:12:56,900 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 196.1MB. Free memory was 162.8MB in the beginning and 162.6MB in the end (delta: 150.3kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 241.26ms. Allocated memory is still 196.1MB. Free memory was 146.3MB in the beginning and 172.3MB in the end (delta: -26.0MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 33.08ms. Allocated memory is still 196.1MB. Free memory was 171.9MB in the beginning and 170.7MB in the end (delta: 1.3MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 274.27ms. Allocated memory is still 196.1MB. Free memory was 170.7MB in the beginning and 158.7MB in the end (delta: 12.0MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * TraceAbstraction took 255657.45ms. Allocated memory was 196.1MB in the beginning and 235.9MB in the end (delta: 39.8MB). Free memory was 158.1MB in the beginning and 108.8MB in the end (delta: 49.3MB). Peak memory consumption was 128.1MB. 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: 255.6s, OverallIterations: 11, TraceHistogramMax: 16, PathProgramHistogramMax: 6, EmptinessCheckTime: 0.0s, AutomataDifference: 10.4s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 10.1s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 261 SdHoareTripleChecker+Valid, 3.5s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 195 mSDsluCounter, 1790 SdHoareTripleChecker+Invalid, 3.5s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1337 mSDsCounter, 129 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 2117 IncrementalHoareTripleChecker+Invalid, 2246 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 129 mSolverCounterUnsat, 453 mSDtfsCounter, 2117 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1062 GetRequests, 949 SyntacticMatches, 9 SemanticMatches, 104 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 330 ImplicationChecksByTransitivity, 1.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=156occurred in iteration=10, InterpolantAutomatonStates: 85, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.0s AutomataMinimizationTime, 11 MinimizatonAttempts, 49 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 39 LocationsWithAnnotation, 517 PreInvPairs, 756 NumberOfFragments, 487 HoareAnnotationTreeSize, 517 FomulaSimplifications, 541 FormulaSimplificationTreeSizeReduction, 0.5s HoareSimplificationTime, 39 FomulaSimplificationsInter, 10690 FormulaSimplificationTreeSizeReductionInter, 9.5s 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 && 1 <= r) && 1 <= y) && b == a * y) && y <= 50 - InvariantResult [Line: 38]: Loop Invariant Derived loop invariant: ((q * y + b + r == x + a * y && 1 <= y) && b == a * y) && y <= 50 - 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-15 14:12:56,942 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...