/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/prodbin-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 16:25:44,054 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 16:25:44,055 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 16:25:44,095 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 16:25:44,098 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 16:25:44,100 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 16:25:44,105 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 16:25:44,111 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 16:25:44,113 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 16:25:44,118 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 16:25:44,119 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 16:25:44,119 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 16:25:44,120 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 16:25:44,120 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 16:25:44,121 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 16:25:44,122 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 16:25:44,122 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 16:25:44,123 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 16:25:44,126 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 16:25:44,132 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 16:25:44,134 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 16:25:44,135 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 16:25:44,137 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 16:25:44,138 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 16:25:44,139 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 16:25:44,143 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 16:25:44,143 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 16:25:44,144 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 16:25:44,144 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 16:25:44,145 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 16:25:44,145 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 16:25:44,146 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 16:25:44,146 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 16:25:44,147 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 16:25:44,147 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 16:25:44,148 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 16:25:44,148 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 16:25:44,149 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 16:25:44,149 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 16:25:44,149 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 16:25:44,150 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 16:25:44,153 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 16:25:44,154 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 16:25:44,168 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 16:25:44,168 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 16:25:44,169 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 16:25:44,170 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 16:25:44,171 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 16:25:44,171 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 16:25:44,172 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 16:25:44,172 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 16:25:44,172 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 16:25:44,172 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 16:25:44,172 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:25:44,172 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 16:25:44,172 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 16:25:44,173 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 16:25:44,173 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 16:25:44,173 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 16:25:44,173 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 16:25:44,173 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 16:25:44,405 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 16:25:44,426 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 16:25:44,428 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 16:25:44,429 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 16:25:44,430 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 16:25:44,430 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-15 16:25:44,479 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c81977c62/eca24c9740e14984a3aab63f8690b11f/FLAG11e3ba2bf [2022-04-15 16:25:44,893 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 16:25:44,893 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-15 16:25:44,898 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c81977c62/eca24c9740e14984a3aab63f8690b11f/FLAG11e3ba2bf [2022-04-15 16:25:44,910 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c81977c62/eca24c9740e14984a3aab63f8690b11f [2022-04-15 16:25:44,912 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 16:25:44,913 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 16:25:44,914 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 16:25:44,914 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 16:25:44,920 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 16:25:44,921 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:25:44" (1/1) ... [2022-04-15 16:25:44,922 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a62af19 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:44, skipping insertion in model container [2022-04-15 16:25:44,922 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:25:44" (1/1) ... [2022-04-15 16:25:44,931 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 16:25:44,944 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 16:25:45,126 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/prodbin-ll_valuebound2.c[537,550] [2022-04-15 16:25:45,149 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:25:45,159 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 16:25:45,174 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/prodbin-ll_valuebound2.c[537,550] [2022-04-15 16:25:45,191 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:25:45,203 INFO L208 MainTranslator]: Completed translation [2022-04-15 16:25:45,203 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45 WrapperNode [2022-04-15 16:25:45,204 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 16:25:45,204 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 16:25:45,204 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 16:25:45,205 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 16:25:45,214 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,214 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,219 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,220 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,232 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,238 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,240 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,245 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 16:25:45,246 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 16:25:45,246 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 16:25:45,246 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 16:25:45,247 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (1/1) ... [2022-04-15 16:25:45,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:25:45,261 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:45,276 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 16:25:45,299 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 16:25:45,317 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 16:25:45,317 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 16:25:45,317 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 16:25:45,317 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 16:25:45,317 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 16:25:45,318 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 16:25:45,318 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 16:25:45,319 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 16:25:45,319 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 16:25:45,320 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 16:25:45,320 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 16:25:45,320 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 16:25:45,320 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 16:25:45,320 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 16:25:45,378 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 16:25:45,380 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 16:25:45,539 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 16:25:45,544 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 16:25:45,544 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 16:25:45,546 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:25:45 BoogieIcfgContainer [2022-04-15 16:25:45,546 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 16:25:45,547 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 16:25:45,547 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 16:25:45,566 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 16:25:45,566 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 04:25:44" (1/3) ... [2022-04-15 16:25:45,567 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a086037 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:25:45, skipping insertion in model container [2022-04-15 16:25:45,567 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:45" (2/3) ... [2022-04-15 16:25:45,567 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a086037 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:25:45, skipping insertion in model container [2022-04-15 16:25:45,567 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:25:45" (3/3) ... [2022-04-15 16:25:45,568 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound2.c [2022-04-15 16:25:45,571 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 16:25:45,572 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 16:25:45,630 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 16:25:45,634 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 16:25:45,634 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 16:25:45,647 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:25:45,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:25:45,653 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:45,654 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 16:25:45,654 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:45,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:45,658 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 16:25:45,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:45,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1438392882] [2022-04-15 16:25:45,673 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:45,673 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 16:25:45,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:45,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1406342062] [2022-04-15 16:25:45,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:45,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:45,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:45,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 16:25:45,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:45,843 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 16:25:45,843 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:25:45,844 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:25:45,844 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 16:25:45,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:45,871 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:25:45,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 16:25:45,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:45,882 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,884 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,884 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,885 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:25:45,885 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 16:25:45,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:45,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:25:45,894 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 16:25:45,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(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(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-15 16:25:45,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:25:45,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:25:45,895 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 16:25:45,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-15 16:25:45,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 16:25:45,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,897 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:25:45,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-15 16:25:45,898 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-15 16:25:45,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,899 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,900 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:25:45,900 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-15 16:25:45,900 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:45,901 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:45,901 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:45,901 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:25:45,901 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-15 16:25:45,901 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 16:25:45,902 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-15 16:25:45,902 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 16:25:45,902 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 16:25:45,902 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 16:25:45,903 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 16:25:45,903 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:45,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1406342062] [2022-04-15 16:25:45,904 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1406342062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:45,904 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:45,904 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:25:45,909 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:45,910 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1438392882] [2022-04-15 16:25:45,910 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1438392882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:45,910 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:45,911 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:25:45,911 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [915121362] [2022-04-15 16:25:45,911 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:45,915 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 16:25:45,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:45,918 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 16:25:45,944 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 16:25:45,944 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 16:25:45,945 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:45,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 16:25:45,961 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:25:45,963 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) 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 16:25:46,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,084 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 16:25:46,084 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 16:25:46,084 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 16:25:46,084 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:46,086 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 16:25:46,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:25:46,096 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 16:25:46,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:25:46,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 16:25:46,188 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:25:46,195 INFO L225 Difference]: With dead ends: 57 [2022-04-15 16:25:46,196 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 16:25:46,198 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 16:25:46,200 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:25:46,201 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:25:46,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 16:25:46,225 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 16:25:46,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:46,226 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:25:46,227 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:25:46,227 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:25:46,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,233 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:25:46,233 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:46,233 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:46,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:46,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 16:25:46,252 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-15 16:25:46,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,259 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:25:46,259 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:46,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:46,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:46,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:46,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:46,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-15 16:25:46,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 16:25:46,266 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 16:25:46,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:46,266 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 16:25:46,267 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 16:25:46,267 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 16:25:46,304 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 16:25:46,304 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:46,305 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:25:46,306 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:46,306 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 16:25:46,306 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 16:25:46,306 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:46,307 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:46,307 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 16:25:46,307 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:46,307 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [750629455] [2022-04-15 16:25:46,308 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:46,308 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 16:25:46,308 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:46,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1838898048] [2022-04-15 16:25:46,308 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:46,308 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:46,330 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:46,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1200728775] [2022-04-15 16:25:46,331 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:46,331 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:46,331 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:46,332 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 16:25:46,392 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 16:25:46,423 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 16:25:46,424 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:46,431 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 16:25:46,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:46,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:46,665 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 16:25:46,666 INFO L290 TraceCheckUtils]: 1: Hoare triple {277#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(13, 2);call #Ultimate.allocInit(12, 3); {277#true} is VALID [2022-04-15 16:25:46,666 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:46,666 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 16:25:46,667 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 16:25:46,670 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {277#true} is VALID [2022-04-15 16:25:46,670 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-15 16:25:46,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:46,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:46,672 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:46,673 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 16:25:46,673 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {277#true} is VALID [2022-04-15 16:25:46,673 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {277#true} is VALID [2022-04-15 16:25:46,673 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:46,673 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:46,674 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:46,674 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 16:25:46,674 INFO L272 TraceCheckUtils]: 17: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {277#true} is VALID [2022-04-15 16:25:46,674 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:46,675 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:46,675 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:46,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 16:25:46,676 INFO L290 TraceCheckUtils]: 22: Hoare triple {277#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:46,677 INFO L290 TraceCheckUtils]: 23: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:46,678 INFO L272 TraceCheckUtils]: 24: Hoare triple {348#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:25:46,679 INFO L290 TraceCheckUtils]: 25: Hoare triple {355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:25:46,679 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 16:25:46,680 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 16:25:46,680 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 16:25:46,680 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:25:46,680 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:46,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1838898048] [2022-04-15 16:25:46,681 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:25:46,681 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1200728775] [2022-04-15 16:25:46,682 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1200728775] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:46,683 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:46,683 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:25:46,684 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:46,684 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [750629455] [2022-04-15 16:25:46,684 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [750629455] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:46,684 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:46,684 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:25:46,684 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [344423816] [2022-04-15 16:25:46,684 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:46,687 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 16:25:46,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:46,687 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 16:25:46,708 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 16:25:46,708 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 16:25:46,708 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:46,710 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 16:25:46,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 16:25:46,711 INFO L87 Difference]: Start difference. First operand 27 states and 31 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 16:25:46,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,882 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 16:25:46,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 16:25:46,882 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 16:25:46,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:46,883 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 16:25:46,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:25:46,892 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 16:25:46,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:25:46,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 16:25:46,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:25:46,947 INFO L225 Difference]: With dead ends: 39 [2022-04-15 16:25:46,948 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 16:25:46,949 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 16:25:46,952 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:25:46,953 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 16:25:46,954 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 16:25:46,972 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 16:25:46,972 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:46,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:46,973 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:46,973 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:46,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,980 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:25:46,980 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:25:46,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:46,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:46,981 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 16:25:46,981 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-15 16:25:46,984 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:46,984 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:25:46,984 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:25:46,984 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:46,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:46,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:46,985 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:46,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:46,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 16:25:46,987 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 16:25:46,987 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:46,987 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 16:25:46,988 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 16:25:46,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 16:25:47,036 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:25:47,036 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 16:25:47,040 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 16:25:47,040 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:47,040 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, 1] [2022-04-15 16:25:47,067 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 16:25:47,263 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 16:25:47,264 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:47,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:47,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 16:25:47,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:47,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1213725732] [2022-04-15 16:25:47,265 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:47,265 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 16:25:47,265 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:47,265 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [637153269] [2022-04-15 16:25:47,265 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:47,266 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:47,287 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:47,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1136740792] [2022-04-15 16:25:47,288 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:47,288 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:47,288 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:47,294 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 16:25:47,296 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 16:25:47,340 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:25:47,340 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:47,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 16:25:47,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:47,356 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:47,470 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 16:25:47,471 INFO L290 TraceCheckUtils]: 1: Hoare triple {585#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(13, 2);call #Ultimate.allocInit(12, 3); {585#true} is VALID [2022-04-15 16:25:47,471 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:47,471 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 16:25:47,471 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 16:25:47,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {585#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {585#true} is VALID [2022-04-15 16:25:47,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:47,472 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:47,472 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:47,472 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:47,472 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 16:25:47,472 INFO L290 TraceCheckUtils]: 11: Hoare triple {585#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {585#true} is VALID [2022-04-15 16:25:47,472 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:47,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:47,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:47,473 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:47,473 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 16:25:47,473 INFO L272 TraceCheckUtils]: 17: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:47,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {585#true} ~cond := #in~cond; {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:25:47,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {644#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:47,475 INFO L290 TraceCheckUtils]: 20: Hoare triple {648#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {648#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:47,476 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {648#(not (= |assume_abort_if_not_#in~cond| 0))} {585#true} #65#return; {655#(<= 1 main_~b~0)} is VALID [2022-04-15 16:25:47,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {655#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:25:47,477 INFO L290 TraceCheckUtils]: 23: Hoare triple {659#(<= 1 main_~y~0)} assume !false; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:25:47,477 INFO L272 TraceCheckUtils]: 24: Hoare triple {659#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:47,477 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:47,477 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:47,477 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:47,479 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {585#true} {659#(<= 1 main_~y~0)} #67#return; {659#(<= 1 main_~y~0)} is VALID [2022-04-15 16:25:47,479 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 16:25:47,480 INFO L272 TraceCheckUtils]: 30: Hoare triple {586#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {586#false} is VALID [2022-04-15 16:25:47,480 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 16:25:47,480 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 16:25:47,480 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 16:25:47,480 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 16:25:47,481 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:25:47,481 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:47,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [637153269] [2022-04-15 16:25:47,481 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:25:47,481 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1136740792] [2022-04-15 16:25:47,481 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1136740792] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:47,481 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:47,481 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:25:47,482 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:47,482 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1213725732] [2022-04-15 16:25:47,482 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1213725732] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:47,482 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:47,482 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:25:47,482 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [364190306] [2022-04-15 16:25:47,482 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:47,483 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 16:25:47,483 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:47,483 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:25:47,507 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 16:25:47,507 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 16:25:47,507 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:47,507 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 16:25:47,507 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 16:25:47,508 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:25:47,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:47,726 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 16:25:47,726 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 16:25:47,727 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-15 16:25:47,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:47,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:25:47,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:25:47,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:25:47,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:25:47,731 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 16:25:47,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:25:47,771 INFO L225 Difference]: With dead ends: 43 [2022-04-15 16:25:47,771 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 16:25:47,771 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-15 16:25:47,773 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 16:25:47,773 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 16:25:47,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 16:25:47,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 16:25:47,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:47,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:47,794 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:47,794 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:47,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:47,796 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:25:47,796 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:25:47,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:47,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:47,797 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 16:25:47,797 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-15 16:25:47,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:47,799 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:25:47,799 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:25:47,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:47,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:47,800 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:47,800 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:47,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:25:47,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 16:25:47,802 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 16:25:47,802 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:47,802 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 16:25:47,803 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:25:47,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 16:25:47,839 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 16:25:47,839 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 16:25:47,840 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:25:47,840 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:47,840 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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] [2022-04-15 16:25:47,867 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-15 16:25:48,062 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 16:25:48,063 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:48,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:48,063 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 16:25:48,063 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:48,063 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1437879399] [2022-04-15 16:25:48,064 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:48,064 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 16:25:48,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:48,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [474747840] [2022-04-15 16:25:48,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:48,065 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:48,084 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:48,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1121958987] [2022-04-15 16:25:48,084 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:48,084 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:48,085 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:48,086 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 16:25:48,087 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 16:25:48,153 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:25:48,153 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:48,154 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-15 16:25:48,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:48,169 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:49,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:25:49,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-15 16:25:49,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:49,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:25:49,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:25:49,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 16:25:49,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:49,339 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:25:49,340 INFO L290 TraceCheckUtils]: 8: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:49,340 INFO L290 TraceCheckUtils]: 9: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:49,342 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {922#true} #61#return; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-15 16:25:49,342 INFO L290 TraceCheckUtils]: 11: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-15 16:25:49,342 INFO L272 TraceCheckUtils]: 12: Hoare triple {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:49,347 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:25:49,348 INFO L290 TraceCheckUtils]: 14: Hoare triple {948#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:49,348 INFO L290 TraceCheckUtils]: 15: Hoare triple {952#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {952#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:25:49,359 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {952#(not (= |assume_abort_if_not_#in~cond| 0))} {959#(and (<= 0 main_~a~0) (<= main_~a~0 2))} #63#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:25:49,360 INFO L272 TraceCheckUtils]: 17: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:49,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:25:49,360 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:25:49,360 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:49,361 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} #65#return; {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:25:49,366 INFO L290 TraceCheckUtils]: 22: Hoare triple {978#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:49,367 INFO L290 TraceCheckUtils]: 23: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:49,367 INFO L272 TraceCheckUtils]: 24: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:49,367 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:25:49,367 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:25:49,367 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:49,368 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:49,369 INFO L290 TraceCheckUtils]: 29: Hoare triple {997#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:49,370 INFO L290 TraceCheckUtils]: 30: Hoare triple {1019#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:25:49,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {1023#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:25:49,372 INFO L290 TraceCheckUtils]: 32: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:25:49,374 INFO L272 TraceCheckUtils]: 33: Hoare triple {1027#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:25:49,375 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:25:49,375 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:25:49,375 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:25:49,376 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:25:49,376 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:26:17,615 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:26:17,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {1038#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:26:17,617 INFO L290 TraceCheckUtils]: 34: Hoare triple {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1038#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:17,618 INFO L272 TraceCheckUtils]: 33: Hoare triple {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1034#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:17,618 INFO L290 TraceCheckUtils]: 32: Hoare triple {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:17,624 INFO L290 TraceCheckUtils]: 31: Hoare triple {1061#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1054#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:17,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {1061#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:26:17,628 INFO L290 TraceCheckUtils]: 29: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:26:17,628 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {922#true} {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:26:17,629 INFO L290 TraceCheckUtils]: 27: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:17,629 INFO L290 TraceCheckUtils]: 26: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:17,629 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:17,629 INFO L272 TraceCheckUtils]: 24: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:17,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:26:18,064 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1065#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:26:18,064 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 16:26:18,064 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:18,064 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:18,064 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L272 TraceCheckUtils]: 17: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:18,065 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:18,065 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:18,065 INFO L290 TraceCheckUtils]: 11: Hoare triple {922#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 16:26:18,065 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:18,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:18,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:18,066 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:18,066 INFO L290 TraceCheckUtils]: 5: Hoare triple {922#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {922#true} is VALID [2022-04-15 16:26:18,066 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:26:18,066 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:26:18,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:18,067 INFO L290 TraceCheckUtils]: 1: Hoare triple {922#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(13, 2);call #Ultimate.allocInit(12, 3); {922#true} is VALID [2022-04-15 16:26:18,067 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:26:18,067 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:26:18,067 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:18,067 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [474747840] [2022-04-15 16:26:18,067 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:26:18,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1121958987] [2022-04-15 16:26:18,068 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1121958987] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 16:26:18,068 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 16:26:18,068 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [12] total 15 [2022-04-15 16:26:18,068 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:18,068 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1437879399] [2022-04-15 16:26:18,069 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1437879399] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:18,070 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:18,070 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 16:26:18,070 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [591410623] [2022-04-15 16:26:18,070 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:18,070 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:26:18,071 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:18,071 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:18,285 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 16:26:18,286 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 16:26:18,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:18,286 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 16:26:18,286 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-15 16:26:18,287 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:19,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:19,504 INFO L93 Difference]: Finished difference Result 47 states and 53 transitions. [2022-04-15 16:26:19,504 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 16:26:19,504 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:26:19,505 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:19,505 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:19,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-15 16:26:19,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:19,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2022-04-15 16:26:19,509 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2022-04-15 16:26:19,556 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 16:26:19,557 INFO L225 Difference]: With dead ends: 47 [2022-04-15 16:26:19,557 INFO L226 Difference]: Without dead ends: 45 [2022-04-15 16:26:19,558 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=59, Invalid=213, Unknown=0, NotChecked=0, Total=272 [2022-04-15 16:26:19,558 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 8 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 116 SdHoareTripleChecker+Invalid, 76 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:19,559 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 116 Invalid, 76 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 16:26:19,559 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-15 16:26:19,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 43. [2022-04-15 16:26:19,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:19,587 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:19,587 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:19,588 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:19,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:19,590 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-15 16:26:19,590 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-15 16:26:19,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:19,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:19,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-15 16:26:19,591 INFO L87 Difference]: Start difference. First operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand 45 states. [2022-04-15 16:26:19,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:19,593 INFO L93 Difference]: Finished difference Result 45 states and 51 transitions. [2022-04-15 16:26:19,593 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2022-04-15 16:26:19,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:19,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:19,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:19,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:19,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 28 states have (on average 1.1785714285714286) internal successors, (33), 29 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:19,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 49 transitions. [2022-04-15 16:26:19,596 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 49 transitions. Word has length 37 [2022-04-15 16:26:19,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:19,597 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 49 transitions. [2022-04-15 16:26:19,597 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:19,597 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 49 transitions. [2022-04-15 16:26:19,661 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 16:26:19,661 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 49 transitions. [2022-04-15 16:26:19,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:26:19,662 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:19,662 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 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] [2022-04-15 16:26:19,679 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-15 16:26:19,863 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 16:26:19,863 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:19,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:19,863 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 16:26:19,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:19,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1753337457] [2022-04-15 16:26:19,864 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:19,864 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 16:26:19,864 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:19,864 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1951023906] [2022-04-15 16:26:19,864 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:19,864 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:19,885 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:19,886 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1222118065] [2022-04-15 16:26:19,886 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:19,886 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:19,886 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:19,887 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 16:26:19,910 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 16:26:19,954 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:26:19,954 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:19,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 16:26:19,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:19,968 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:20,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-15 16:26:20,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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(13, 2);call #Ultimate.allocInit(12, 3); {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-15 16:26:20,757 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-15 16:26:20,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:20,758 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-15 16:26:20,758 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-15 16:26:20,758 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:20,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:26:20,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:20,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:20,760 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #63#return; {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:26:20,760 INFO L272 TraceCheckUtils]: 17: Hoare triple {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:20,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:26:20,765 INFO L290 TraceCheckUtils]: 19: Hoare triple {1476#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:20,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:20,766 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1487#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} is VALID [2022-04-15 16:26:20,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {1503#(and (<= main_~b~0 2) (<= 1 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:20,767 INFO L290 TraceCheckUtils]: 23: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:20,767 INFO L272 TraceCheckUtils]: 24: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:20,768 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-15 16:26:20,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-15 16:26:20,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:20,768 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:20,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:20,770 INFO L290 TraceCheckUtils]: 30: Hoare triple {1507#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:20,771 INFO L290 TraceCheckUtils]: 31: Hoare triple {1532#(and (= main_~z~0 0) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:26:20,771 INFO L290 TraceCheckUtils]: 32: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:26:20,773 INFO L272 TraceCheckUtils]: 33: Hoare triple {1536#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:20,774 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:20,774 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-15 16:26:20,774 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-15 16:26:20,775 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:26:20,775 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:26:43,559 INFO L290 TraceCheckUtils]: 36: Hoare triple {1433#false} assume !false; {1433#false} is VALID [2022-04-15 16:26:43,559 INFO L290 TraceCheckUtils]: 35: Hoare triple {1547#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1433#false} is VALID [2022-04-15 16:26:43,560 INFO L290 TraceCheckUtils]: 34: Hoare triple {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1547#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:43,561 INFO L272 TraceCheckUtils]: 33: Hoare triple {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1543#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:43,561 INFO L290 TraceCheckUtils]: 32: Hoare triple {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:43,567 INFO L290 TraceCheckUtils]: 31: Hoare triple {1570#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1563#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:43,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1570#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:26:43,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:26:43,570 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1432#true} {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #67#return; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:26:43,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:43,570 INFO L290 TraceCheckUtils]: 26: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-15 16:26:43,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-15 16:26:43,570 INFO L272 TraceCheckUtils]: 24: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:43,571 INFO L290 TraceCheckUtils]: 23: Hoare triple {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !false; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:26:43,574 INFO L290 TraceCheckUtils]: 22: Hoare triple {1599#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1574#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-15 16:26:43,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} {1432#true} #65#return; {1599#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 16:26:43,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {1480#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:43,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1480#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:43,576 INFO L290 TraceCheckUtils]: 18: Hoare triple {1432#true} ~cond := #in~cond; {1612#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:26:43,576 INFO L272 TraceCheckUtils]: 17: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:43,576 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1432#true} {1432#true} #63#return; {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L290 TraceCheckUtils]: 14: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L272 TraceCheckUtils]: 12: Hoare triple {1432#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L290 TraceCheckUtils]: 11: Hoare triple {1432#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1432#true} {1432#true} #61#return; {1432#true} is VALID [2022-04-15 16:26:43,577 INFO L290 TraceCheckUtils]: 9: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L290 TraceCheckUtils]: 8: Hoare triple {1432#true} assume !(0 == ~cond); {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {1432#true} ~cond := #in~cond; {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L272 TraceCheckUtils]: 6: Hoare triple {1432#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L290 TraceCheckUtils]: 5: Hoare triple {1432#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L272 TraceCheckUtils]: 4: Hoare triple {1432#true} call #t~ret6 := main(); {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1432#true} {1432#true} #71#return; {1432#true} is VALID [2022-04-15 16:26:43,578 INFO L290 TraceCheckUtils]: 2: Hoare triple {1432#true} assume true; {1432#true} is VALID [2022-04-15 16:26:43,579 INFO L290 TraceCheckUtils]: 1: Hoare triple {1432#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(13, 2);call #Ultimate.allocInit(12, 3); {1432#true} is VALID [2022-04-15 16:26:43,579 INFO L272 TraceCheckUtils]: 0: Hoare triple {1432#true} call ULTIMATE.init(); {1432#true} is VALID [2022-04-15 16:26:43,579 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:26:43,579 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:43,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1951023906] [2022-04-15 16:26:43,579 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:26:43,579 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1222118065] [2022-04-15 16:26:43,579 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1222118065] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:26:43,580 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:26:43,580 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 10] total 16 [2022-04-15 16:26:43,580 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:43,580 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1753337457] [2022-04-15 16:26:43,580 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1753337457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:43,580 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:43,580 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 16:26:43,580 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [820477739] [2022-04-15 16:26:43,580 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:43,581 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 37 [2022-04-15 16:26:43,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:43,581 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 16:26:43,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:43,635 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 16:26:43,635 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:43,635 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 16:26:43,635 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=188, Unknown=0, NotChecked=0, Total=240 [2022-04-15 16:26:43,636 INFO L87 Difference]: Start difference. First operand 43 states and 49 transitions. Second operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 16:26:44,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:44,085 INFO L93 Difference]: Finished difference Result 65 states and 77 transitions. [2022-04-15 16:26:44,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 16:26:44,086 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 37 [2022-04-15 16:26:44,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:44,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 16:26:44,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-15 16:26:44,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 16:26:44,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 63 transitions. [2022-04-15 16:26:44,091 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 63 transitions. [2022-04-15 16:26:44,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:44,152 INFO L225 Difference]: With dead ends: 65 [2022-04-15 16:26:44,152 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 16:26:44,153 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=245, Unknown=0, NotChecked=0, Total=306 [2022-04-15 16:26:44,153 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 18 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 159 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:44,153 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 127 Invalid, 159 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 153 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 16:26:44,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 16:26:44,206 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-04-15 16:26:44,206 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:44,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:26:44,206 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:26:44,207 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:26:44,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:44,209 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-15 16:26:44,209 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-15 16:26:44,209 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:44,209 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:44,210 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 16:26:44,210 INFO L87 Difference]: Start difference. First operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 16:26:44,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:44,212 INFO L93 Difference]: Finished difference Result 53 states and 60 transitions. [2022-04-15 16:26:44,212 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-15 16:26:44,212 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:44,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:44,213 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:44,213 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:44,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:26:44,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 60 transitions. [2022-04-15 16:26:44,215 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 60 transitions. Word has length 37 [2022-04-15 16:26:44,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:44,215 INFO L478 AbstractCegarLoop]: Abstraction has 53 states and 60 transitions. [2022-04-15 16:26:44,215 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.2) internal successors, (22), 8 states have internal predecessors, (22), 4 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 16:26:44,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 53 states and 60 transitions. [2022-04-15 16:26:44,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:44,283 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 60 transitions. [2022-04-15 16:26:44,284 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 16:26:44,284 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:44,284 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:26:44,300 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 16:26:44,487 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 16:26:44,487 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:44,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:44,488 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 16:26:44,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:44,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1000307409] [2022-04-15 16:26:44,489 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:44,489 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 16:26:44,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:44,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [302852321] [2022-04-15 16:26:44,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:44,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:44,505 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:44,505 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1383434595] [2022-04-15 16:26:44,505 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:44,505 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:44,506 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:44,506 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 16:26:44,509 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 16:26:44,564 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:26:44,564 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:44,564 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 16:26:44,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:44,576 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:50,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-15 16:26:50,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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(13, 2);call #Ultimate.allocInit(12, 3); {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:26:50,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-15 16:26:50,773 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:26:50,774 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-15 16:26:50,775 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:26:50,776 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:50,776 INFO L290 TraceCheckUtils]: 35: Hoare triple {2122#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:50,777 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:52,781 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2133#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-15 16:26:52,796 INFO L290 TraceCheckUtils]: 38: Hoare triple {2133#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:52,797 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:52,797 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:52,797 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-15 16:26:52,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-15 16:26:52,798 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:26:52,798 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:27:01,827 INFO L290 TraceCheckUtils]: 42: Hoare triple {2016#false} assume !false; {2016#false} is VALID [2022-04-15 16:27:01,828 INFO L290 TraceCheckUtils]: 41: Hoare triple {2145#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2016#false} is VALID [2022-04-15 16:27:01,828 INFO L290 TraceCheckUtils]: 40: Hoare triple {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2145#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:01,829 INFO L272 TraceCheckUtils]: 39: Hoare triple {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2141#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:01,829 INFO L290 TraceCheckUtils]: 38: Hoare triple {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2137#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:01,830 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} {2015#true} #67#return; {2164#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:27:01,831 INFO L290 TraceCheckUtils]: 36: Hoare triple {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:01,831 INFO L290 TraceCheckUtils]: 35: Hoare triple {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2126#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 34: Hoare triple {2015#true} ~cond := #in~cond; {2177#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:27:01,832 INFO L272 TraceCheckUtils]: 33: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 32: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {2015#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 30: Hoare triple {2015#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {2015#true} assume !!(0 != ~y~0); {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2015#true} {2015#true} #67#return; {2015#true} is VALID [2022-04-15 16:27:01,832 INFO L290 TraceCheckUtils]: 27: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 26: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 25: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L272 TraceCheckUtils]: 24: Hoare triple {2015#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 23: Hoare triple {2015#true} assume !false; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 22: Hoare triple {2015#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2015#true} {2015#true} #65#return; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 20: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 19: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:27:01,833 INFO L290 TraceCheckUtils]: 18: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L272 TraceCheckUtils]: 17: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2015#true} {2015#true} #63#return; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 15: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 13: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L272 TraceCheckUtils]: 12: Hoare triple {2015#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 11: Hoare triple {2015#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2015#true} {2015#true} #61#return; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 9: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:27:01,834 INFO L290 TraceCheckUtils]: 8: Hoare triple {2015#true} assume !(0 == ~cond); {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {2015#true} ~cond := #in~cond; {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L272 TraceCheckUtils]: 6: Hoare triple {2015#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {2015#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {2015#true} call #t~ret6 := main(); {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2015#true} {2015#true} #71#return; {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {2015#true} assume true; {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {2015#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(13, 2);call #Ultimate.allocInit(12, 3); {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {2015#true} call ULTIMATE.init(); {2015#true} is VALID [2022-04-15 16:27:01,835 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:27:01,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:27:01,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [302852321] [2022-04-15 16:27:01,836 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:27:01,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1383434595] [2022-04-15 16:27:01,836 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1383434595] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:27:01,836 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:27:01,836 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 16:27:01,836 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:27:01,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1000307409] [2022-04-15 16:27:01,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1000307409] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:27:01,837 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:27:01,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 16:27:01,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939014164] [2022-04-15 16:27:01,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:27:01,837 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 16:27:01,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:27:01,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:27:03,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:03,872 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 16:27:03,872 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:03,872 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 16:27:03,872 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 16:27:03,872 INFO L87 Difference]: Start difference. First operand 53 states and 60 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:27:05,934 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:27:06,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:06,733 INFO L93 Difference]: Finished difference Result 60 states and 66 transitions. [2022-04-15 16:27:06,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 16:27:06,733 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) Word has length 43 [2022-04-15 16:27:06,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:27:06,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:27:06,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:27:06,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:27:06,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:27:06,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 16:27:08,770 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 36 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:08,771 INFO L225 Difference]: With dead ends: 60 [2022-04-15 16:27:08,771 INFO L226 Difference]: Without dead ends: 53 [2022-04-15 16:27:08,772 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-15 16:27:08,772 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 120 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:27:08,773 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 120 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 69 Invalid, 1 Unknown, 0 Unchecked, 2.4s Time] [2022-04-15 16:27:08,773 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-04-15 16:27:08,833 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 52. [2022-04-15 16:27:08,833 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:27:08,833 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:08,833 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:08,834 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:08,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:08,835 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 16:27:08,836 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 16:27:08,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:08,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:08,836 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 16:27:08,836 INFO L87 Difference]: Start difference. First operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 53 states. [2022-04-15 16:27:08,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:08,838 INFO L93 Difference]: Finished difference Result 53 states and 58 transitions. [2022-04-15 16:27:08,838 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 58 transitions. [2022-04-15 16:27:08,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:08,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:08,839 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:27:08,839 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:27:08,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 36 states have (on average 1.1111111111111112) internal successors, (40), 36 states have internal predecessors, (40), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:08,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 57 transitions. [2022-04-15 16:27:08,841 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 57 transitions. Word has length 43 [2022-04-15 16:27:08,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:27:08,841 INFO L478 AbstractCegarLoop]: Abstraction has 52 states and 57 transitions. [2022-04-15 16:27:08,841 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (6), 2 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 16:27:08,841 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 57 transitions. [2022-04-15 16:27:13,350 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 55 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:13,350 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 57 transitions. [2022-04-15 16:27:13,350 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:27:13,350 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:27:13,350 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:27:13,367 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 16:27:13,551 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 16:27:13,551 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:27:13,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:27:13,551 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 16:27:13,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:13,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [124313397] [2022-04-15 16:27:13,552 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:27:13,552 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 16:27:13,552 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:27:13,552 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [974084325] [2022-04-15 16:27:13,552 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:27:13,553 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:27:13,568 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:27:13,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1435905641] [2022-04-15 16:27:13,568 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:27:13,568 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:13,568 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:27:13,571 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 16:27:13,573 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 16:27:13,615 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:27:13,616 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:27:13,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 16:27:13,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:27:13,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:27:14,380 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-15 16:27:14,380 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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(13, 2);call #Ultimate.allocInit(12, 3); {2616#true} is VALID [2022-04-15 16:27:14,380 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:14,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-15 16:27:14,381 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-15 16:27:14,381 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2616#true} is VALID [2022-04-15 16:27:14,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:14,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:14,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:14,382 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:14,382 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-15 16:27:14,382 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-15 16:27:14,382 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:14,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:27:14,383 INFO L290 TraceCheckUtils]: 14: Hoare triple {2660#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:14,383 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:14,384 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:14,384 INFO L272 TraceCheckUtils]: 17: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:14,384 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:14,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:14,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:14,385 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:14,385 INFO L290 TraceCheckUtils]: 22: Hoare triple {2671#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2690#(<= main_~y~0 2)} is VALID [2022-04-15 16:27:14,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {2690#(<= main_~y~0 2)} assume !false; {2690#(<= main_~y~0 2)} is VALID [2022-04-15 16:27:14,386 INFO L272 TraceCheckUtils]: 24: Hoare triple {2690#(<= main_~y~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:14,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:14,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:14,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:14,387 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2690#(<= main_~y~0 2)} #67#return; {2690#(<= main_~y~0 2)} is VALID [2022-04-15 16:27:14,387 INFO L290 TraceCheckUtils]: 29: Hoare triple {2690#(<= main_~y~0 2)} assume !!(0 != ~y~0); {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} is VALID [2022-04-15 16:27:14,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {2712#(and (not (= main_~y~0 0)) (<= main_~y~0 2))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:14,390 INFO L290 TraceCheckUtils]: 31: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:14,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:14,394 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:14,396 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:14,396 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:14,397 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:14,397 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:14,399 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-15 16:27:14,399 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-15 16:27:14,400 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-15 16:27:14,401 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-15 16:27:14,401 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-15 16:27:14,401 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-15 16:27:14,401 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-15 16:27:14,401 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-15 16:27:14,402 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 16:27:14,402 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:27:15,831 INFO L290 TraceCheckUtils]: 45: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-15 16:27:15,831 INFO L290 TraceCheckUtils]: 44: Hoare triple {2617#false} assume 0 == ~cond; {2617#false} is VALID [2022-04-15 16:27:15,831 INFO L290 TraceCheckUtils]: 43: Hoare triple {2617#false} ~cond := #in~cond; {2617#false} is VALID [2022-04-15 16:27:15,831 INFO L272 TraceCheckUtils]: 42: Hoare triple {2617#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2617#false} is VALID [2022-04-15 16:27:15,831 INFO L290 TraceCheckUtils]: 41: Hoare triple {2617#false} assume !false; {2617#false} is VALID [2022-04-15 16:27:15,832 INFO L290 TraceCheckUtils]: 40: Hoare triple {2617#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2617#false} is VALID [2022-04-15 16:27:15,832 INFO L290 TraceCheckUtils]: 39: Hoare triple {2617#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2617#false} is VALID [2022-04-15 16:27:15,832 INFO L290 TraceCheckUtils]: 38: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !!(0 != ~y~0); {2617#false} is VALID [2022-04-15 16:27:15,833 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2616#true} {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} #67#return; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:15,833 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:15,833 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:15,833 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:15,833 INFO L272 TraceCheckUtils]: 33: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:15,839 INFO L290 TraceCheckUtils]: 32: Hoare triple {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} assume !false; {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:15,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~0 2) 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2716#(and (<= 1 (mod (+ main_~y~0 1) 2)) (<= 0 (+ main_~y~0 1)) (<= main_~y~0 1))} is VALID [2022-04-15 16:27:15,843 INFO L290 TraceCheckUtils]: 30: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2804#(and (or (and (<= (div main_~y~0 2) 1) (<= 1 (mod (+ (div main_~y~0 2) 1) 2))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))) (or (not (< main_~y~0 0)) (and (<= 0 (+ (div main_~y~0 2) 2)) (<= 1 (mod (div main_~y~0 2) 2)))))} is VALID [2022-04-15 16:27:15,843 INFO L290 TraceCheckUtils]: 29: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:15,844 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#true} {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} #67#return; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:15,844 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:15,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:15,844 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:15,844 INFO L272 TraceCheckUtils]: 24: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:15,844 INFO L290 TraceCheckUtils]: 23: Hoare triple {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !false; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:15,845 INFO L290 TraceCheckUtils]: 22: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2808#(or (and (<= 1 (mod (+ (div (+ (- 1) main_~y~0) 2) 1) 2)) (<= (div (+ (- 1) main_~y~0) 2) 1)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:27:15,846 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2616#true} {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} #65#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-15 16:27:15,846 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:15,846 INFO L290 TraceCheckUtils]: 19: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:15,846 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:15,846 INFO L272 TraceCheckUtils]: 17: Hoare triple {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:15,847 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} {2616#true} #63#return; {2833#(<= (div (* (- 1) (div (+ (- 2) (* (- 1) main_~b~0)) (- 2))) (- 2)) 1)} is VALID [2022-04-15 16:27:15,847 INFO L290 TraceCheckUtils]: 15: Hoare triple {2664#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:15,847 INFO L290 TraceCheckUtils]: 14: Hoare triple {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2664#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {2616#true} ~cond := #in~cond; {2861#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:27:15,848 INFO L272 TraceCheckUtils]: 12: Hoare triple {2616#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {2616#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2616#true} {2616#true} #61#return; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 9: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 8: Hoare triple {2616#true} assume !(0 == ~cond); {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 7: Hoare triple {2616#true} ~cond := #in~cond; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L272 TraceCheckUtils]: 6: Hoare triple {2616#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 5: Hoare triple {2616#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L272 TraceCheckUtils]: 4: Hoare triple {2616#true} call #t~ret6 := main(); {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2616#true} {2616#true} #71#return; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 2: Hoare triple {2616#true} assume true; {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L290 TraceCheckUtils]: 1: Hoare triple {2616#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(13, 2);call #Ultimate.allocInit(12, 3); {2616#true} is VALID [2022-04-15 16:27:15,848 INFO L272 TraceCheckUtils]: 0: Hoare triple {2616#true} call ULTIMATE.init(); {2616#true} is VALID [2022-04-15 16:27:15,849 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 16:27:15,849 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:27:15,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [974084325] [2022-04-15 16:27:15,849 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:27:15,849 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1435905641] [2022-04-15 16:27:15,849 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1435905641] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:27:15,849 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:27:15,849 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 16:27:15,850 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:27:15,850 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [124313397] [2022-04-15 16:27:15,850 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [124313397] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:27:15,850 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:27:15,850 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 16:27:15,850 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [246364634] [2022-04-15 16:27:15,850 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:27:15,851 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-15 16:27:15,851 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:27:15,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:27:15,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:15,879 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 16:27:15,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:15,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 16:27:15,879 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=100, Unknown=0, NotChecked=0, Total=132 [2022-04-15 16:27:15,879 INFO L87 Difference]: Start difference. First operand 52 states and 57 transitions. Second operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:27:16,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:16,189 INFO L93 Difference]: Finished difference Result 70 states and 75 transitions. [2022-04-15 16:27:16,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 16:27:16,189 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-15 16:27:16,190 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:27:16,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:27:16,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-15 16:27:16,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:27:16,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 46 transitions. [2022-04-15 16:27:16,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 46 transitions. [2022-04-15 16:27:16,238 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 16:27:16,239 INFO L225 Difference]: With dead ends: 70 [2022-04-15 16:27:16,240 INFO L226 Difference]: Without dead ends: 39 [2022-04-15 16:27:16,240 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 78 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=180, Unknown=0, NotChecked=0, Total=240 [2022-04-15 16:27:16,241 INFO L913 BasicCegarLoop]: 23 mSDtfsCounter, 8 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 74 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 82 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 74 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 16:27:16,242 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 101 Invalid, 82 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 74 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 16:27:16,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2022-04-15 16:27:16,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 39. [2022-04-15 16:27:16,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:27:16,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:27:16,292 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:27:16,294 INFO L87 Difference]: Start difference. First operand 39 states. Second operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:27:16,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:16,297 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-15 16:27:16,297 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-15 16:27:16,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:16,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:16,298 INFO L74 IsIncluded]: Start isIncluded. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-15 16:27:16,298 INFO L87 Difference]: Start difference. First operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 39 states. [2022-04-15 16:27:16,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:16,300 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-15 16:27:16,300 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-15 16:27:16,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:16,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:16,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:27:16,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:27:16,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 39 states, 26 states have (on average 1.0) internal successors, (26), 26 states have internal predecessors, (26), 8 states have call successors, (8), 6 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-15 16:27:16,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 40 transitions. [2022-04-15 16:27:16,302 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 40 transitions. Word has length 46 [2022-04-15 16:27:16,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:27:16,303 INFO L478 AbstractCegarLoop]: Abstraction has 39 states and 40 transitions. [2022-04-15 16:27:16,303 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.25) internal successors, (26), 7 states have internal predecessors, (26), 5 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:27:16,303 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 39 states and 40 transitions. [2022-04-15 16:27:16,681 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:16,681 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 40 transitions. [2022-04-15 16:27:16,682 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:27:16,682 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:27:16,682 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:27:16,698 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-15 16:27:16,883 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 16:27:16,883 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:27:16,884 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:27:16,884 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 16:27:16,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:16,884 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2058643607] [2022-04-15 16:27:16,884 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:27:16,884 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 16:27:16,885 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:27:16,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1076921688] [2022-04-15 16:27:16,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:27:16,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:27:16,911 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:27:16,911 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [398282017] [2022-04-15 16:27:16,911 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:27:16,911 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:16,912 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:27:16,912 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 16:27:16,916 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 16:27:16,957 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:27:16,958 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:27:16,959 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 16:27:16,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:27:16,978 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:27:18,709 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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(13, 2);call #Ultimate.allocInit(12, 3); {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:27:18,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:27:18,711 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-15 16:27:18,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-15 16:27:18,711 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:27:18,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:27:18,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {3251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:18,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:18,715 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3255#(not (= |assume_abort_if_not_#in~cond| 0))} {3207#true} #63#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,715 INFO L272 TraceCheckUtils]: 17: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:27:18,715 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:27:18,715 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:27:18,715 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:27:18,716 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,716 INFO L290 TraceCheckUtils]: 22: Hoare triple {3262#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:18,717 INFO L290 TraceCheckUtils]: 23: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:18,717 INFO L272 TraceCheckUtils]: 24: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:27:18,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:27:18,717 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:27:18,717 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:27:18,717 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:18,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {3281#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:18,718 INFO L290 TraceCheckUtils]: 30: Hoare triple {3303#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:18,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {3307#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,719 INFO L290 TraceCheckUtils]: 32: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !false; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,719 INFO L272 TraceCheckUtils]: 33: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:27:18,721 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:18,721 INFO L290 TraceCheckUtils]: 35: Hoare triple {3321#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:18,721 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:18,722 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} #67#return; {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,722 INFO L290 TraceCheckUtils]: 38: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume !!(0 != ~y~0); {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {3311#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:27:18,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {3338#(and (= main_~z~0 main_~x~0) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:27:18,725 INFO L290 TraceCheckUtils]: 41: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:27:18,728 INFO L272 TraceCheckUtils]: 42: Hoare triple {3342#(and (<= main_~b~0 2) (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:18,729 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:18,729 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-15 16:27:18,729 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-15 16:27:18,729 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 9 proven. 13 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-04-15 16:27:18,729 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:28:21,787 INFO L290 TraceCheckUtils]: 45: Hoare triple {3208#false} assume !false; {3208#false} is VALID [2022-04-15 16:28:21,787 INFO L290 TraceCheckUtils]: 44: Hoare triple {3353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3208#false} is VALID [2022-04-15 16:28:21,788 INFO L290 TraceCheckUtils]: 43: Hoare triple {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:21,788 INFO L272 TraceCheckUtils]: 42: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:28:21,788 INFO L290 TraceCheckUtils]: 41: Hoare triple {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:21,793 INFO L290 TraceCheckUtils]: 40: Hoare triple {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3369#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:21,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3376#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-15 16:28:21,796 INFO L290 TraceCheckUtils]: 38: Hoare triple {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:28:23,701 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} {3207#true} #67#return; {3380#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-15 16:28:23,703 INFO L290 TraceCheckUtils]: 36: Hoare triple {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:23,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3325#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:23,703 INFO L290 TraceCheckUtils]: 34: Hoare triple {3207#true} ~cond := #in~cond; {3396#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:28:23,703 INFO L272 TraceCheckUtils]: 33: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 32: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {3207#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {3207#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {3207#true} assume !!(0 != ~y~0); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3207#true} {3207#true} #67#return; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 27: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 26: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 25: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L272 TraceCheckUtils]: 24: Hoare triple {3207#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 23: Hoare triple {3207#true} assume !false; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L290 TraceCheckUtils]: 22: Hoare triple {3207#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3207#true} is VALID [2022-04-15 16:28:23,704 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3207#true} {3207#true} #65#return; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 20: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 19: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 18: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L272 TraceCheckUtils]: 17: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3207#true} {3207#true} #63#return; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 15: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 14: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L290 TraceCheckUtils]: 13: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:28:23,705 INFO L272 TraceCheckUtils]: 12: Hoare triple {3207#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 11: Hoare triple {3207#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3207#true} {3207#true} #61#return; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {3207#true} assume !(0 == ~cond); {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 7: Hoare triple {3207#true} ~cond := #in~cond; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L272 TraceCheckUtils]: 6: Hoare triple {3207#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {3207#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L272 TraceCheckUtils]: 4: Hoare triple {3207#true} call #t~ret6 := main(); {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3207#true} {3207#true} #71#return; {3207#true} is VALID [2022-04-15 16:28:23,706 INFO L290 TraceCheckUtils]: 2: Hoare triple {3207#true} assume true; {3207#true} is VALID [2022-04-15 16:28:23,707 INFO L290 TraceCheckUtils]: 1: Hoare triple {3207#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(13, 2);call #Ultimate.allocInit(12, 3); {3207#true} is VALID [2022-04-15 16:28:23,707 INFO L272 TraceCheckUtils]: 0: Hoare triple {3207#true} call ULTIMATE.init(); {3207#true} is VALID [2022-04-15 16:28:23,707 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-15 16:28:23,707 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:28:23,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1076921688] [2022-04-15 16:28:23,707 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:28:23,707 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [398282017] [2022-04-15 16:28:23,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [398282017] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:28:23,708 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:28:23,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 9] total 19 [2022-04-15 16:28:23,708 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:28:23,708 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2058643607] [2022-04-15 16:28:23,708 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2058643607] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:28:23,708 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:28:23,708 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-15 16:28:23,708 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1435053225] [2022-04-15 16:28:23,708 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:28:23,709 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-15 16:28:23,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:28:23,709 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:28:23,743 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 16:28:23,743 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-15 16:28:23,743 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:28:23,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-15 16:28:23,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=278, Unknown=1, NotChecked=0, Total=342 [2022-04-15 16:28:23,744 INFO L87 Difference]: Start difference. First operand 39 states and 40 transitions. Second operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:28:24,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:24,381 INFO L93 Difference]: Finished difference Result 39 states and 40 transitions. [2022-04-15 16:28:24,382 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:28:24,382 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) Word has length 46 [2022-04-15 16:28:24,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:28:24,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:28:24,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-15 16:28:24,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:28:24,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 36 transitions. [2022-04-15 16:28:24,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 36 transitions. [2022-04-15 16:28:24,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:24,431 INFO L225 Difference]: With dead ends: 39 [2022-04-15 16:28:24,431 INFO L226 Difference]: Without dead ends: 0 [2022-04-15 16:28:24,431 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 71 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 4.3s TimeCoverageRelationStatistics Valid=74, Invalid=345, Unknown=1, NotChecked=0, Total=420 [2022-04-15 16:28:24,432 INFO L913 BasicCegarLoop]: 19 mSDtfsCounter, 17 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 213 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 16:28:24,432 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 141 Invalid, 213 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 16:28:24,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-15 16:28:24,433 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-15 16:28:24,433 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:28:24,433 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 16:28:24,433 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 16:28:24,433 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 16:28:24,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:24,433 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 16:28:24,433 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:28:24,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:24,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:24,434 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 16:28:24,434 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 16:28:24,434 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:24,434 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-15 16:28:24,434 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:28:24,434 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:24,434 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:24,436 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:28:24,436 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:28:24,436 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 16:28:24,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-15 16:28:24,437 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 46 [2022-04-15 16:28:24,437 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:28:24,437 INFO L478 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-15 16:28:24,437 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 1.9333333333333333) internal successors, (29), 13 states have internal predecessors, (29), 5 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 4 states have call predecessors, (6), 4 states have call successors, (6) [2022-04-15 16:28:24,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2022-04-15 16:28:24,437 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 16:28:24,437 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-15 16:28:24,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:24,439 INFO L788 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-15 16:28:24,459 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 16:28:24,640 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 16:28:24,642 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-15 16:28:42,043 WARN L232 SmtUtils]: Spent 12.32s on a formula simplification. DAG size of input: 46 DAG size of output: 36 (called from [L 149] de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.HoareAnnotationComposer.combineInter) [2022-04-15 16:28:42,064 INFO L882 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-15 16:28:42,064 INFO L882 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-15 16:28:42,064 INFO L882 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-15 16:28:42,064 INFO L885 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L10(line 10) the Hoare annotation is: (= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|) [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L10-2(lines 9 11) 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 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point assume_abort_if_notEXIT(lines 9 11) 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 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 2) (<= 0 main_~b~0)) [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point mainEXIT(lines 20 49) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point L25-1(line 25) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point L46(line 46) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point mainFINAL(lines 20 49) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (= main_~z~0 .cse0) (<= main_~b~0 2) (<= 1 main_~b~0) (or (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0) (= .cse0 (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0)) main_~z~0))))) [2022-04-15 16:28:42,065 INFO L885 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (and (<= main_~b~0 2) (<= 1 main_~b~0)) [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L39(lines 39 42) the Hoare annotation is: (let ((.cse0 (<= 1 main_~b~0))) (or (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse0) (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse0 (= main_~a~0 main_~x~0)))) [2022-04-15 16:28:42,065 INFO L878 garLoopResultBuilder]: At program point L39-2(lines 39 42) the Hoare annotation is: (let ((.cse1 (<= 1 main_~b~0))) (or (let ((.cse0 (+ main_~y~0 1))) (and (<= 1 (mod .cse0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= main_~b~0 2) .cse1 (<= 0 .cse0) (<= main_~y~0 1))) (and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse1 (= main_~a~0 main_~x~0)))) [2022-04-15 16:28:42,066 INFO L878 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse2 (<= main_~b~0 2)) (.cse3 (<= 1 main_~b~0))) (or (and .cse0 (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (let ((.cse1 (+ main_~y~0 1))) (and (<= 1 (mod .cse1 2)) .cse0 .cse2 .cse3 (<= 0 .cse1) (<= main_~y~0 1))) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse2 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse3))) [2022-04-15 16:28:42,066 INFO L878 garLoopResultBuilder]: At program point L35-1(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0)) (.cse1 (<= main_~b~0 2)) (.cse2 (<= 1 main_~b~0))) (or (and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0)) (and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) .cse1 (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) .cse2) (let ((.cse3 (+ main_~y~0 1))) (and (<= 1 (mod .cse3 2)) (= main_~z~0 .cse0) .cse1 .cse2 (<= 0 .cse3) (<= main_~y~0 1))))) [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initFINAL(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 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 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L885 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-15 16:28:42,066 INFO L878 garLoopResultBuilder]: At program point L14(lines 14 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 16:28:42,066 INFO L878 garLoopResultBuilder]: At program point L13(lines 13 16) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 16:28:42,066 INFO L878 garLoopResultBuilder]: At program point L13-2(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 16:28:42,067 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertEXIT(lines 12 18) the Hoare annotation is: (or (= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond) (not (<= 1 |__VERIFIER_assert_#in~cond|))) [2022-04-15 16:28:42,067 INFO L878 garLoopResultBuilder]: At program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) the Hoare annotation is: (not (<= 1 |__VERIFIER_assert_#in~cond|)) [2022-04-15 16:28:42,069 INFO L719 BasicCegarLoop]: Path program histogram: [4, 2, 2, 2, 2, 2, 2] [2022-04-15 16:28:42,069 INFO L177 ceAbstractionStarter]: Computing trace abstraction results [2022-04-15 16:28:42,072 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-15 16:28:42,080 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-15 16:28:42,121 INFO L163 areAnnotationChecker]: CFG has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-15 16:28:42,130 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 15.04 04:28:42 BoogieIcfgContainer [2022-04-15 16:28:42,130 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-15 16:28:42,131 INFO L158 Benchmark]: Toolchain (without parser) took 177218.25ms. Allocated memory was 177.2MB in the beginning and 223.3MB in the end (delta: 46.1MB). Free memory was 129.2MB in the beginning and 144.3MB in the end (delta: -15.1MB). Peak memory consumption was 101.0MB. Max. memory is 8.0GB. [2022-04-15 16:28:42,131 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 177.2MB. Free memory is still 145.8MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-15 16:28:42,132 INFO L158 Benchmark]: CACSL2BoogieTranslator took 289.82ms. Allocated memory is still 177.2MB. Free memory was 129.0MB in the beginning and 155.6MB in the end (delta: -26.7MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 16:28:42,132 INFO L158 Benchmark]: Boogie Preprocessor took 41.02ms. Allocated memory is still 177.2MB. Free memory was 155.6MB in the beginning and 154.1MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-15 16:28:42,132 INFO L158 Benchmark]: RCFGBuilder took 299.74ms. Allocated memory is still 177.2MB. Free memory was 154.1MB in the beginning and 142.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-15 16:28:42,132 INFO L158 Benchmark]: TraceAbstraction took 176582.99ms. Allocated memory was 177.2MB in the beginning and 223.3MB in the end (delta: 46.1MB). Free memory was 142.1MB in the beginning and 144.3MB in the end (delta: -2.2MB). Peak memory consumption was 115.0MB. Max. memory is 8.0GB. [2022-04-15 16:28:42,134 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.16ms. Allocated memory is still 177.2MB. Free memory is still 145.8MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 289.82ms. Allocated memory is still 177.2MB. Free memory was 129.0MB in the beginning and 155.6MB in the end (delta: -26.7MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 41.02ms. Allocated memory is still 177.2MB. Free memory was 155.6MB in the beginning and 154.1MB in the end (delta: 1.5MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 299.74ms. Allocated memory is still 177.2MB. Free memory was 154.1MB in the beginning and 142.6MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 176582.99ms. Allocated memory was 177.2MB in the beginning and 223.3MB in the end (delta: 46.1MB). Free memory was 142.1MB in the beginning and 144.3MB in the end (delta: -2.2MB). Peak memory consumption was 115.0MB. 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: 15]: 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, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 176.4s, OverallIterations: 8, TraceHistogramMax: 3, PathProgramHistogramMax: 4, EmptinessCheckTime: 0.0s, AutomataDifference: 8.5s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 17.4s, InitialAbstractionConstructionTime: 0.0s, PartialOrderReductionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 116 SdHoareTripleChecker+Valid, 3.4s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 105 mSDsluCounter, 815 SdHoareTripleChecker+Invalid, 3.4s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 621 mSDsCounter, 38 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 678 IncrementalHoareTripleChecker+Invalid, 717 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 38 mSolverCounterUnsat, 194 mSDtfsCounter, 678 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 501 GetRequests, 406 SyntacticMatches, 10 SemanticMatches, 85 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 248 ImplicationChecksByTransitivity, 7.7s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=53occurred in iteration=5, InterpolantAutomatonStates: 61, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 9 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 32 LocationsWithAnnotation, 114 PreInvPairs, 163 NumberOfFragments, 464 HoareAnnotationTreeSize, 114 FomulaSimplifications, 123 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 32 FomulaSimplificationsInter, 769 FormulaSimplificationTreeSizeReductionInter, 17.2s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: No data available, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((z + y * x == b * a && y <= 2) && b == y) && 1 <= y) && a == x) || (((((1 <= (y + 1) % 2 && z + y * x == b * a) && b <= 2) && 1 <= b) && 0 <= y + 1) && y <= 1)) || (((((z == 0 && y == b / 2) && b <= 2) && a * 2 == x) && !(b % 2 == 1)) && 1 <= b) - ProcedureContractResult [Line: 9]: Procedure Contract for assume_abort_if_not Derived contract for procedure assume_abort_if_not: !(\old(cond) == 0) && cond == \old(cond) - ProcedureContractResult [Line: 20]: Procedure Contract for main Derived contract for procedure main: 1 - ProcedureContractResult [Line: 12]: 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 16:28:42,171 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...