/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 16:25:11,126 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 16:25:11,127 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 16:25:11,181 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 16:25:11,182 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 16:25:11,183 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 16:25:11,186 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 16:25:11,190 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 16:25:11,194 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 16:25:11,195 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 16:25:11,196 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 16:25:11,196 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 16:25:11,197 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 16:25:11,197 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 16:25:11,198 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 16:25:11,199 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 16:25:11,199 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 16:25:11,200 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 16:25:11,201 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 16:25:11,202 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 16:25:11,206 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 16:25:11,209 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 16:25:11,210 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 16:25:11,213 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 16:25:11,214 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 16:25:11,226 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 16:25:11,227 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 16:25:11,227 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 16:25:11,228 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 16:25:11,228 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 16:25:11,229 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 16:25:11,229 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 16:25:11,229 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 16:25:11,230 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 16:25:11,230 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 16:25:11,231 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 16:25:11,231 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 16:25:11,232 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 16:25:11,232 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 16:25:11,232 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 16:25:11,233 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 16:25:11,237 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 16:25:11,237 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:11,247 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 16:25:11,247 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 16:25:11,248 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 16:25:11,248 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 16:25:11,248 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 16:25:11,249 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 16:25:11,249 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 16:25:11,249 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 16:25:11,249 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 16:25:11,250 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 16:25:11,250 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 16:25:11,250 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 16:25:11,250 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 16:25:11,250 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:25:11,251 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 16:25:11,251 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 16:25:11,252 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-15 16:25:11,252 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:11,462 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 16:25:11,482 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 16:25:11,484 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 16:25:11,485 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 16:25:11,486 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 16:25:11,487 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-15 16:25:11,540 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/158c78a99/bcb2f8b973bf406c865a8e208a14455d/FLAG2b3e0492b [2022-04-15 16:25:11,899 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 16:25:11,899 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound10.c [2022-04-15 16:25:11,904 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/158c78a99/bcb2f8b973bf406c865a8e208a14455d/FLAG2b3e0492b [2022-04-15 16:25:11,917 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/158c78a99/bcb2f8b973bf406c865a8e208a14455d [2022-04-15 16:25:11,919 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 16:25:11,920 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 16:25:11,922 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 16:25:11,922 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 16:25:11,925 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 16:25:11,926 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:25:11" (1/1) ... [2022-04-15 16:25:11,927 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d8505a8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:11, skipping insertion in model container [2022-04-15 16:25:11,927 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 04:25:11" (1/1) ... [2022-04-15 16:25:11,933 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 16:25:11,945 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 16:25:12,078 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_valuebound10.c[537,550] [2022-04-15 16:25:12,090 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:25:12,096 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 16:25:12,106 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_valuebound10.c[537,550] [2022-04-15 16:25:12,112 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 16:25:12,125 INFO L208 MainTranslator]: Completed translation [2022-04-15 16:25:12,125 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:12 WrapperNode [2022-04-15 16:25:12,126 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 16:25:12,126 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 16:25:12,126 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 16:25:12,126 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 16:25:12,135 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:12" (1/1) ... [2022-04-15 16:25:12,135 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:12" (1/1) ... [2022-04-15 16:25:12,140 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:12" (1/1) ... [2022-04-15 16:25:12,140 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:12" (1/1) ... [2022-04-15 16:25:12,145 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:12" (1/1) ... [2022-04-15 16:25:12,148 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:12" (1/1) ... [2022-04-15 16:25:12,149 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:12" (1/1) ... [2022-04-15 16:25:12,150 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 16:25:12,151 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 16:25:12,151 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 16:25:12,151 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 16:25:12,152 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:12" (1/1) ... [2022-04-15 16:25:12,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 16:25:12,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:12,177 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:12,178 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:12,203 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 16:25:12,203 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 16:25:12,203 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 16:25:12,203 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 16:25:12,203 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 16:25:12,204 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 16:25:12,204 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 16:25:12,205 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 16:25:12,254 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 16:25:12,255 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 16:25:12,435 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 16:25:12,442 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 16:25:12,443 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 16:25:12,444 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:25:12 BoogieIcfgContainer [2022-04-15 16:25:12,444 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 16:25:12,445 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 16:25:12,445 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 16:25:12,449 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 16:25:12,449 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 04:25:11" (1/3) ... [2022-04-15 16:25:12,450 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a10b934 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:25:12, skipping insertion in model container [2022-04-15 16:25:12,450 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 04:25:12" (2/3) ... [2022-04-15 16:25:12,450 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4a10b934 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 04:25:12, skipping insertion in model container [2022-04-15 16:25:12,450 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 04:25:12" (3/3) ... [2022-04-15 16:25:12,451 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound10.c [2022-04-15 16:25:12,455 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 16:25:12,455 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 16:25:12,497 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 16:25:12,502 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:12,502 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 16:25:12,523 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:12,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:25:12,528 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:12,529 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:12,529 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:12,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:12,533 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-15 16:25:12,539 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:12,539 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1466902020] [2022-04-15 16:25:12,548 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:12,548 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 2 times [2022-04-15 16:25:12,550 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:12,551 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [124818129] [2022-04-15 16:25:12,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:12,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:12,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:12,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 16:25:12,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:12,765 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:12,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:25:12,766 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:25:12,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 16:25:12,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:12,793 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,794 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,794 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,794 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:25:12,794 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-15 16:25:12,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:12,805 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,807 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:25:12,807 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-15 16:25:12,813 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:12,820 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:25:12,828 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:12,828 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:12,828 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-15 16:25:12,829 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-15 16:25:12,829 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-15 16:25:12,829 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:12,829 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-15 16:25:12,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,831 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,832 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-15 16:25:12,832 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:12,832 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {35#true} is VALID [2022-04-15 16:25:12,832 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,833 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,833 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,833 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-15 16:25:12,833 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:12,834 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-15 16:25:12,834 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-15 16:25:12,835 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-15 16:25:12,835 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-15 16:25:12,835 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:12,835 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-15 16:25:12,836 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:12,836 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-15 16:25:12,836 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-15 16:25:12,836 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-15 16:25:12,837 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:12,837 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:12,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [124818129] [2022-04-15 16:25:12,838 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [124818129] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:12,838 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:12,838 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:25:12,841 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:12,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1466902020] [2022-04-15 16:25:12,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1466902020] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:12,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:12,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 16:25:12,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1963731688] [2022-04-15 16:25:12,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:12,846 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:12,850 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:12,852 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:12,893 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:12,893 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 16:25:12,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:12,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 16:25:12,919 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 16:25:12,922 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:13,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,079 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-15 16:25:13,079 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 16:25:13,079 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:13,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:13,084 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:13,092 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:25:13,092 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:13,105 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-15 16:25:13,105 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-15 16:25:13,192 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:13,199 INFO L225 Difference]: With dead ends: 57 [2022-04-15 16:25:13,199 INFO L226 Difference]: Without dead ends: 27 [2022-04-15 16:25:13,202 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:13,205 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:13,205 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:13,218 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-15 16:25:13,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-15 16:25:13,232 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:13,232 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:13,233 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:13,233 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:13,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,237 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:25:13,238 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:13,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:13,238 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:13,239 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:13,239 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:13,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,242 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-15 16:25:13,242 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:13,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:13,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:13,243 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:13,243 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:13,244 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:13,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-15 16:25:13,247 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-15 16:25:13,247 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:13,248 INFO L478 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-15 16:25:13,248 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:13,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 31 transitions. [2022-04-15 16:25:13,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:25:13,285 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-15 16:25:13,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 16:25:13,286 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:13,286 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:13,286 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 16:25:13,287 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:13,287 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:13,287 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-15 16:25:13,288 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:13,288 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [307569329] [2022-04-15 16:25:13,288 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:13,289 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 2 times [2022-04-15 16:25:13,289 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:13,289 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [969378095] [2022-04-15 16:25:13,289 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:13,289 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:13,322 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:13,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [498311262] [2022-04-15 16:25:13,325 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:13,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:13,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:13,331 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:13,338 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:13,394 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 16:25:13,394 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:13,396 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 16:25:13,407 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:13,411 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:13,607 INFO L272 TraceCheckUtils]: 0: Hoare triple {277#true} call ULTIMATE.init(); {277#true} is VALID [2022-04-15 16:25:13,608 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:13,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:13,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#true} {277#true} #71#return; {277#true} is VALID [2022-04-15 16:25:13,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#true} call #t~ret6 := main(); {277#true} is VALID [2022-04-15 16:25:13,609 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:13,609 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-15 16:25:13,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:13,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:13,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:13,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#true} {277#true} #61#return; {277#true} is VALID [2022-04-15 16:25:13,610 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:13,610 INFO L272 TraceCheckUtils]: 12: Hoare triple {277#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {277#true} is VALID [2022-04-15 16:25:13,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:13,611 INFO L290 TraceCheckUtils]: 14: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:13,611 INFO L290 TraceCheckUtils]: 15: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:13,611 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {277#true} {277#true} #63#return; {277#true} is VALID [2022-04-15 16:25:13,611 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:13,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {277#true} ~cond := #in~cond; {277#true} is VALID [2022-04-15 16:25:13,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {277#true} assume !(0 == ~cond); {277#true} is VALID [2022-04-15 16:25:13,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {277#true} assume true; {277#true} is VALID [2022-04-15 16:25:13,612 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {277#true} {277#true} #65#return; {277#true} is VALID [2022-04-15 16:25:13,613 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:13,613 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:13,615 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:13,615 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:13,616 INFO L290 TraceCheckUtils]: 26: Hoare triple {359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {278#false} is VALID [2022-04-15 16:25:13,616 INFO L290 TraceCheckUtils]: 27: Hoare triple {278#false} assume !false; {278#false} is VALID [2022-04-15 16:25:13,616 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:13,616 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:25:13,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:13,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [969378095] [2022-04-15 16:25:13,617 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:25:13,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [498311262] [2022-04-15 16:25:13,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [498311262] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:13,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:13,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:25:13,619 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:13,619 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [307569329] [2022-04-15 16:25:13,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [307569329] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:13,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:13,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 16:25:13,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [847806205] [2022-04-15 16:25:13,620 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:13,620 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:13,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:13,621 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:13,640 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:13,640 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 16:25:13,641 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:13,642 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 16:25:13,642 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 16:25:13,642 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:13,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,816 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-15 16:25:13,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 16:25:13,816 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:13,817 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:13,817 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:13,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:25:13,819 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:13,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-15 16:25:13,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-15 16:25:13,862 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:13,864 INFO L225 Difference]: With dead ends: 39 [2022-04-15 16:25:13,864 INFO L226 Difference]: Without dead ends: 37 [2022-04-15 16:25:13,864 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:13,865 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:13,866 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:13,867 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-15 16:25:13,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-15 16:25:13,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:13,877 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:13,878 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:13,878 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:13,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,880 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:25:13,880 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:25:13,881 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:13,881 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:13,881 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:13,882 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:13,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:13,884 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-15 16:25:13,884 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-15 16:25:13,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:13,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:13,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:13,885 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:13,886 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:13,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-15 16:25:13,888 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-15 16:25:13,888 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:13,888 INFO L478 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-15 16:25:13,888 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:13,889 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 37 transitions. [2022-04-15 16:25:13,937 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:13,938 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-15 16:25:13,938 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-15 16:25:13,939 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:13,939 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:13,964 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-15 16:25:14,155 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:14,156 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:14,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:14,156 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-15 16:25:14,156 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:14,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1714062748] [2022-04-15 16:25:14,157 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:14,157 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 2 times [2022-04-15 16:25:14,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:14,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1435562288] [2022-04-15 16:25:14,157 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:14,158 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:14,180 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:14,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1000159841] [2022-04-15 16:25:14,181 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:14,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:14,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:14,183 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:14,184 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:14,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:25:14,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:14,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 16:25:14,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:14,255 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:14,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {585#true} call ULTIMATE.init(); {585#true} is VALID [2022-04-15 16:25:14,404 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:14,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:14,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {585#true} {585#true} #71#return; {585#true} is VALID [2022-04-15 16:25:14,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {585#true} call #t~ret6 := main(); {585#true} is VALID [2022-04-15 16:25:14,405 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:14,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {585#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:14,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:14,406 INFO L290 TraceCheckUtils]: 8: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:14,406 INFO L290 TraceCheckUtils]: 9: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:14,406 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {585#true} {585#true} #61#return; {585#true} is VALID [2022-04-15 16:25:14,406 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:14,406 INFO L272 TraceCheckUtils]: 12: Hoare triple {585#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {585#true} is VALID [2022-04-15 16:25:14,407 INFO L290 TraceCheckUtils]: 13: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:14,407 INFO L290 TraceCheckUtils]: 14: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:14,407 INFO L290 TraceCheckUtils]: 15: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:14,407 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {585#true} {585#true} #63#return; {585#true} is VALID [2022-04-15 16:25:14,407 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:14,409 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:14,410 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:14,410 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:14,411 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:14,412 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:14,412 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:14,412 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:14,412 INFO L290 TraceCheckUtils]: 25: Hoare triple {585#true} ~cond := #in~cond; {585#true} is VALID [2022-04-15 16:25:14,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {585#true} assume !(0 == ~cond); {585#true} is VALID [2022-04-15 16:25:14,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {585#true} assume true; {585#true} is VALID [2022-04-15 16:25:14,414 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:14,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {659#(<= 1 main_~y~0)} assume !(0 != ~y~0); {586#false} is VALID [2022-04-15 16:25:14,414 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:14,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {586#false} ~cond := #in~cond; {586#false} is VALID [2022-04-15 16:25:14,415 INFO L290 TraceCheckUtils]: 32: Hoare triple {586#false} assume 0 == ~cond; {586#false} is VALID [2022-04-15 16:25:14,415 INFO L290 TraceCheckUtils]: 33: Hoare triple {586#false} assume !false; {586#false} is VALID [2022-04-15 16:25:14,415 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:14,415 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 16:25:14,416 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:25:14,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1435562288] [2022-04-15 16:25:14,416 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:25:14,416 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1000159841] [2022-04-15 16:25:14,416 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1000159841] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:14,416 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:14,416 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:25:14,417 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:25:14,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1714062748] [2022-04-15 16:25:14,419 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1714062748] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:25:14,419 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:25:14,419 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 16:25:14,419 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2018751517] [2022-04-15 16:25:14,419 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:25:14,420 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:14,420 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:25:14,421 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:14,451 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:14,451 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 16:25:14,451 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:14,452 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 16:25:14,452 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-15 16:25:14,452 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:14,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:14,666 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-15 16:25:14,666 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 16:25:14,666 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:14,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:25:14,669 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:14,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:25:14,675 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:14,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-15 16:25:14,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-15 16:25:14,721 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:14,722 INFO L225 Difference]: With dead ends: 43 [2022-04-15 16:25:14,722 INFO L226 Difference]: Without dead ends: 36 [2022-04-15 16:25:14,723 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:14,724 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:14,724 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:14,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-15 16:25:14,748 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-15 16:25:14,748 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:25:14,748 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:14,751 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:14,751 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:14,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:14,758 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:25:14,758 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:25:14,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:14,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:14,760 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:14,760 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:14,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:25:14,771 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-15 16:25:14,771 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-15 16:25:14,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:25:14,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:25:14,774 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:25:14,774 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:25:14,775 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:14,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-15 16:25:14,776 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-15 16:25:14,777 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:25:14,777 INFO L478 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-15 16:25:14,777 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:14,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 38 transitions. [2022-04-15 16:25:14,820 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:14,821 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-15 16:25:14,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:25:14,822 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:25:14,822 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:14,850 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:15,047 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:15,048 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:25:15,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:25:15,048 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-15 16:25:15,048 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:25:15,048 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1196949912] [2022-04-15 16:25:15,049 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:25:15,049 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 2 times [2022-04-15 16:25:15,049 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:25:15,049 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [497266642] [2022-04-15 16:25:15,049 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:25:15,049 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:25:15,067 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:25:15,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [190795086] [2022-04-15 16:25:15,067 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:25:15,068 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:25:15,068 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:25:15,069 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:15,084 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:15,128 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:25:15,128 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:25:15,129 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 16:25:15,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:25:15,148 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:25:17,693 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:25:17,693 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:17,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:17,693 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:25:17,693 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:25:17,694 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:17,694 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:17,694 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:25:17,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:25:17,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:17,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 16:25:17,694 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:25:17,695 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 16:25:17,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:25:17,695 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:25:17,695 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:17,695 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 16:25:17,695 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:25:17,696 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:25:17,696 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:25:17,696 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:25:17,696 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 16:25:17,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:17,700 INFO L290 TraceCheckUtils]: 23: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:17,700 INFO L272 TraceCheckUtils]: 24: Hoare triple {993#(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)); {922#true} is VALID [2022-04-15 16:25:17,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:25:17,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {1003#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:25:17,701 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:25:17,702 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #67#return; {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:17,703 INFO L290 TraceCheckUtils]: 29: Hoare triple {993#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:25:17,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {1017#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:25:17,705 INFO L290 TraceCheckUtils]: 31: Hoare triple {1021#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= 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); {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:25:17,706 INFO L290 TraceCheckUtils]: 32: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:25:17,830 INFO L272 TraceCheckUtils]: 33: Hoare triple {1025#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:25:17,831 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:25:17,832 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:25:17,832 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:25:17,832 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:25:17,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:26:19,789 INFO L290 TraceCheckUtils]: 36: Hoare triple {923#false} assume !false; {923#false} is VALID [2022-04-15 16:26:19,790 INFO L290 TraceCheckUtils]: 35: Hoare triple {1036#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {923#false} is VALID [2022-04-15 16:26:19,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1036#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:19,791 INFO L272 TraceCheckUtils]: 33: Hoare triple {1052#(= (+ 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)); {1032#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:19,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:19,798 INFO L290 TraceCheckUtils]: 31: Hoare triple {1059#(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); {1052#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:26:19,800 INFO L290 TraceCheckUtils]: 30: Hoare triple {1063#(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; {1059#(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:19,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {1063#(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); {1063#(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:20,264 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} {922#true} #67#return; {1063#(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:20,265 INFO L290 TraceCheckUtils]: 27: Hoare triple {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:20,265 INFO L290 TraceCheckUtils]: 26: Hoare triple {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1007#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:20,265 INFO L290 TraceCheckUtils]: 25: Hoare triple {922#true} ~cond := #in~cond; {1079#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:26:20,266 INFO L272 TraceCheckUtils]: 24: Hoare triple {922#true} 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:20,266 INFO L290 TraceCheckUtils]: 23: Hoare triple {922#true} assume !false; {922#true} is VALID [2022-04-15 16:26:20,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {922#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {922#true} is VALID [2022-04-15 16:26:20,266 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {922#true} {922#true} #65#return; {922#true} is VALID [2022-04-15 16:26:20,266 INFO L290 TraceCheckUtils]: 20: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:20,266 INFO L290 TraceCheckUtils]: 19: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:20,266 INFO L290 TraceCheckUtils]: 18: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:20,266 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:20,266 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {922#true} {922#true} #63#return; {922#true} is VALID [2022-04-15 16:26:20,266 INFO L290 TraceCheckUtils]: 15: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:20,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:20,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:20,267 INFO L272 TraceCheckUtils]: 12: Hoare triple {922#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:20,267 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:20,267 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {922#true} {922#true} #61#return; {922#true} is VALID [2022-04-15 16:26:20,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:20,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {922#true} assume !(0 == ~cond); {922#true} is VALID [2022-04-15 16:26:20,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {922#true} ~cond := #in~cond; {922#true} is VALID [2022-04-15 16:26:20,267 INFO L272 TraceCheckUtils]: 6: Hoare triple {922#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {922#true} is VALID [2022-04-15 16:26:20,268 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:20,268 INFO L272 TraceCheckUtils]: 4: Hoare triple {922#true} call #t~ret6 := main(); {922#true} is VALID [2022-04-15 16:26:20,268 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {922#true} {922#true} #71#return; {922#true} is VALID [2022-04-15 16:26:20,268 INFO L290 TraceCheckUtils]: 2: Hoare triple {922#true} assume true; {922#true} is VALID [2022-04-15 16:26:20,268 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:20,270 INFO L272 TraceCheckUtils]: 0: Hoare triple {922#true} call ULTIMATE.init(); {922#true} is VALID [2022-04-15 16:26:20,270 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:26:20,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:26:20,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [497266642] [2022-04-15 16:26:20,270 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:26:20,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [190795086] [2022-04-15 16:26:20,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [190795086] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:26:20,271 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:26:20,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 16:26:20,271 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:26:20,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1196949912] [2022-04-15 16:26:20,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1196949912] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:26:20,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:26:20,272 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 16:26:20,272 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [437577824] [2022-04-15 16:26:20,272 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:26:20,272 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 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:20,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:26:20,273 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:22,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:22,301 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 16:26:22,301 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:22,302 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 16:26:22,302 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=142, Unknown=0, NotChecked=0, Total=182 [2022-04-15 16:26:22,302 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:26,088 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.77s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:26:30,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:30,129 INFO L93 Difference]: Finished difference Result 49 states and 56 transitions. [2022-04-15 16:26:30,129 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 16:26:30,129 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 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:30,130 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:26:30,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:30,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 16:26:30,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:30,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 53 transitions. [2022-04-15 16:26:30,133 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 53 transitions. [2022-04-15 16:26:30,427 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:30,428 INFO L225 Difference]: With dead ends: 49 [2022-04-15 16:26:30,428 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 16:26:30,429 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 58 SyntacticMatches, 3 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=53, Invalid=187, Unknown=0, NotChecked=0, Total=240 [2022-04-15 16:26:30,429 INFO L913 BasicCegarLoop]: 24 mSDtfsCounter, 18 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 137 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 137 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.7s IncrementalHoareTripleChecker+Time [2022-04-15 16:26:30,430 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 129 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 137 Invalid, 0 Unknown, 0 Unchecked, 3.7s Time] [2022-04-15 16:26:30,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 16:26:30,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 42. [2022-04-15 16:26:30,467 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:26:30,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:30,467 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:30,468 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:30,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:30,470 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 16:26:30,470 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 16:26:30,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:30,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:30,470 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 16:26:30,471 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 47 states. [2022-04-15 16:26:30,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:26:30,473 INFO L93 Difference]: Finished difference Result 47 states and 54 transitions. [2022-04-15 16:26:30,473 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-04-15 16:26:30,473 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:26:30,473 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:26:30,473 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:26:30,473 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:26:30,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1481481481481481) internal successors, (31), 29 states have internal predecessors, (31), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:26:30,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 47 transitions. [2022-04-15 16:26:30,475 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 47 transitions. Word has length 37 [2022-04-15 16:26:30,475 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:26:30,475 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 47 transitions. [2022-04-15 16:26:30,476 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 1.9) internal successors, (19), 9 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:26:30,476 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 47 transitions. [2022-04-15 16:26:30,744 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:26:30,744 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 47 transitions. [2022-04-15 16:26:30,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-15 16:26:30,745 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:26:30,745 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:30,771 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 16:26:30,945 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:30,945 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:26:30,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:26:30,946 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 1 times [2022-04-15 16:26:30,946 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:26:30,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1303701854] [2022-04-15 16:26:30,946 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:26:30,946 INFO L85 PathProgramCache]: Analyzing trace with hash -497884428, now seen corresponding path program 2 times [2022-04-15 16:26:30,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:26:30,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [129930681] [2022-04-15 16:26:30,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:26:30,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:26:30,965 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:26:30,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [927596954] [2022-04-15 16:26:30,966 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:26:30,966 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:26:30,966 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:26:30,970 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:30,971 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:31,023 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:26:31,038 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:26:31,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-15 16:26:31,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:26:31,056 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:26:35,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-15 16:26:35,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-15 16:26:35,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:26:35,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-15 16:26:35,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-15 16:26:35,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-15 16:26:35,403 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:26:35,404 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 16:26:35,404 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 16:26:35,404 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:26:35,404 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-15 16:26:35,404 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:26:35,405 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:26:35,405 INFO L290 TraceCheckUtils]: 19: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:35,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:26:35,410 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-15 16:26:35,410 INFO L290 TraceCheckUtils]: 22: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:35,411 INFO L290 TraceCheckUtils]: 23: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:35,411 INFO L272 TraceCheckUtils]: 24: Hoare triple {1511#(and (= main_~z~0 0) (= 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)); {1437#true} is VALID [2022-04-15 16:26:35,411 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:35,412 INFO L290 TraceCheckUtils]: 26: Hoare triple {1521#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:35,412 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:26:35,413 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:35,413 INFO L290 TraceCheckUtils]: 29: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:26:35,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {1511#(and (= main_~z~0 0) (= 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)); {1538#(and (= main_~z~0 0) (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:35,415 INFO L290 TraceCheckUtils]: 31: Hoare triple {1538#(and (= main_~z~0 0) (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); {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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:35,416 INFO L290 TraceCheckUtils]: 32: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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:35,420 INFO L272 TraceCheckUtils]: 33: Hoare triple {1542#(and (= main_~z~0 0) (= main_~y~0 (div 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:26:35,420 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:26:35,421 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-15 16:26:35,421 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-15 16:26:35,421 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:26:35,421 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:27:18,184 INFO L290 TraceCheckUtils]: 36: Hoare triple {1438#false} assume !false; {1438#false} is VALID [2022-04-15 16:27:18,184 INFO L290 TraceCheckUtils]: 35: Hoare triple {1553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1438#false} is VALID [2022-04-15 16:27:18,185 INFO L290 TraceCheckUtils]: 34: Hoare triple {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:18,186 INFO L272 TraceCheckUtils]: 33: Hoare triple {1569#(= (+ 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)); {1549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:18,186 INFO L290 TraceCheckUtils]: 32: Hoare triple {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:18,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {1576#(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); {1569#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:18,192 INFO L290 TraceCheckUtils]: 30: Hoare triple {1580#(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)); {1576#(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:27:18,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {1580#(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); {1580#(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:27:18,205 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} #67#return; {1580#(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:27:18,206 INFO L290 TraceCheckUtils]: 27: Hoare triple {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:18,207 INFO L290 TraceCheckUtils]: 26: Hoare triple {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1525#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:18,207 INFO L290 TraceCheckUtils]: 25: Hoare triple {1437#true} ~cond := #in~cond; {1597#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:27:18,207 INFO L272 TraceCheckUtils]: 24: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:27:18,208 INFO L290 TraceCheckUtils]: 23: Hoare triple {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} assume !false; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-15 16:27:18,208 INFO L290 TraceCheckUtils]: 22: Hoare triple {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1587#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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)))} is VALID [2022-04-15 16:27:18,209 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1437#true} #65#return; {1607#(or (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-15 16:27:18,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:18,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:18,211 INFO L290 TraceCheckUtils]: 18: Hoare triple {1437#true} ~cond := #in~cond; {1620#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-15 16:27:18,211 INFO L272 TraceCheckUtils]: 17: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:27:18,211 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1437#true} {1437#true} #63#return; {1437#true} is VALID [2022-04-15 16:27:18,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:27:18,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 16:27:18,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L272 TraceCheckUtils]: 12: Hoare triple {1437#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L290 TraceCheckUtils]: 11: Hoare triple {1437#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1437#true} {1437#true} #61#return; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L290 TraceCheckUtils]: 9: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {1437#true} assume !(0 == ~cond); {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {1437#true} ~cond := #in~cond; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {1437#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L290 TraceCheckUtils]: 5: Hoare triple {1437#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; {1437#true} is VALID [2022-04-15 16:27:18,212 INFO L272 TraceCheckUtils]: 4: Hoare triple {1437#true} call #t~ret6 := main(); {1437#true} is VALID [2022-04-15 16:27:18,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1437#true} {1437#true} #71#return; {1437#true} is VALID [2022-04-15 16:27:18,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {1437#true} assume true; {1437#true} is VALID [2022-04-15 16:27:18,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {1437#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); {1437#true} is VALID [2022-04-15 16:27:18,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {1437#true} call ULTIMATE.init(); {1437#true} is VALID [2022-04-15 16:27:18,213 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 7 proven. 3 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-15 16:27:18,213 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:27:18,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [129930681] [2022-04-15 16:27:18,214 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:27:18,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [927596954] [2022-04-15 16:27:18,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [927596954] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:27:18,214 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:27:18,214 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-15 16:27:18,214 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:27:18,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1303701854] [2022-04-15 16:27:18,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1303701854] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:27:18,214 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:27:18,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 16:27:18,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [960681432] [2022-04-15 16:27:18,215 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:27:18,215 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:27:18,215 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:27:18,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:18,244 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:27:18,244 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 16:27:18,244 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:18,245 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 16:27:18,245 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-15 16:27:18,245 INFO L87 Difference]: Start difference. First operand 42 states and 47 transitions. Second operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:18,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:18,936 INFO L93 Difference]: Finished difference Result 59 states and 66 transitions. [2022-04-15 16:27:18,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 16:27:18,936 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 37 [2022-04-15 16:27:18,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:27:18,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:18,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-15 16:27:18,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:18,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-15 16:27:18,940 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-15 16:27:18,992 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:18,993 INFO L225 Difference]: With dead ends: 59 [2022-04-15 16:27:18,993 INFO L226 Difference]: Without dead ends: 52 [2022-04-15 16:27:18,993 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-15 16:27:18,994 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 26 mSDsluCounter, 118 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-15 16:27:18,995 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 139 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-15 16:27:18,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-15 16:27:19,028 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 50. [2022-04-15 16:27:19,028 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:27:19,028 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:19,029 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:19,029 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:19,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:19,031 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 16:27:19,031 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 16:27:19,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:19,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:19,031 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 16:27:19,031 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 52 states. [2022-04-15 16:27:19,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:19,033 INFO L93 Difference]: Finished difference Result 52 states and 58 transitions. [2022-04-15 16:27:19,033 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 58 transitions. [2022-04-15 16:27:19,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:19,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:19,034 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:27:19,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:27:19,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 35 states have internal predecessors, (37), 10 states have call successors, (10), 7 states have call predecessors, (10), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:27:19,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:27:19,036 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 37 [2022-04-15 16:27:19,036 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:27:19,036 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:27:19,036 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.8333333333333333) internal successors, (22), 10 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 16:27:19,037 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:27:19,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:19,526 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:27:19,526 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 16:27:19,527 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:27:19,527 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:27:19,543 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:27:19,731 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:27:19,731 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:27:19,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:27:19,732 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 1 times [2022-04-15 16:27:19,732 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:19,732 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1570958815] [2022-04-15 16:27:19,734 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:27:19,734 INFO L85 PathProgramCache]: Analyzing trace with hash -1351630086, now seen corresponding path program 2 times [2022-04-15 16:27:19,734 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:27:19,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1770659806] [2022-04-15 16:27:19,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:27:19,734 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:27:19,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:27:19,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1720217916] [2022-04-15 16:27:19,764 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:27:19,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:19,765 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:27:19,769 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:27:19,770 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:27:19,821 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:27:19,821 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:27:19,822 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 16:27:19,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:27:19,835 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:27:29,996 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 16:27:29,996 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:29,997 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-15 16:27:29,998 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-15 16:27:29,999 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 16:27:29,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 16:27:29,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 16:27:29,999 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:29,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:29,999 INFO L290 TraceCheckUtils]: 35: Hoare triple {2112#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:30,000 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:32,002 WARN L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2123#(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:27:32,003 INFO L290 TraceCheckUtils]: 38: Hoare triple {2123#(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); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:32,003 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:32,004 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:32,004 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-15 16:27:32,004 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-15 16:27:32,004 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:32,004 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:27:39,973 INFO L290 TraceCheckUtils]: 42: Hoare triple {2006#false} assume !false; {2006#false} is VALID [2022-04-15 16:27:39,973 INFO L290 TraceCheckUtils]: 41: Hoare triple {2135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2006#false} is VALID [2022-04-15 16:27:39,974 INFO L290 TraceCheckUtils]: 40: Hoare triple {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:39,975 INFO L272 TraceCheckUtils]: 39: Hoare triple {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:39,975 INFO L290 TraceCheckUtils]: 38: Hoare triple {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2127#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:27:39,976 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} {2005#true} #67#return; {2154#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:27:39,977 INFO L290 TraceCheckUtils]: 36: Hoare triple {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:39,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2116#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:39,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {2005#true} ~cond := #in~cond; {2167#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:27:39,978 INFO L272 TraceCheckUtils]: 33: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 32: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 31: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 30: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 29: Hoare triple {2005#true} assume !!(0 != ~y~0); {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2005#true} {2005#true} #67#return; {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 27: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:39,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L272 TraceCheckUtils]: 24: Hoare triple {2005#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L290 TraceCheckUtils]: 23: Hoare triple {2005#true} assume !false; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L290 TraceCheckUtils]: 22: Hoare triple {2005#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2005#true} {2005#true} #65#return; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:39,979 INFO L272 TraceCheckUtils]: 17: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2005#true} {2005#true} #63#return; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 13: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L272 TraceCheckUtils]: 12: Hoare triple {2005#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 11: Hoare triple {2005#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2005#true} {2005#true} #61#return; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:39,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {2005#true} assume !(0 == ~cond); {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {2005#true} ~cond := #in~cond; {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {2005#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {2005#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; {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {2005#true} call #t~ret6 := main(); {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2005#true} {2005#true} #71#return; {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {2005#true} assume true; {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {2005#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); {2005#true} is VALID [2022-04-15 16:27:39,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {2005#true} call ULTIMATE.init(); {2005#true} is VALID [2022-04-15 16:27:39,982 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:39,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:27:39,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1770659806] [2022-04-15 16:27:39,982 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:27:39,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1720217916] [2022-04-15 16:27:39,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1720217916] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:27:39,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:27:39,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-15 16:27:39,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:27:39,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1570958815] [2022-04-15 16:27:39,983 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1570958815] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:27:39,983 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:27:39,983 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 16:27:39,983 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1239431912] [2022-04-15 16:27:39,983 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:27:39,983 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:39,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:27:39,984 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:42,017 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:42,017 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 16:27:42,017 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:42,017 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 16:27:42,017 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 16:27:42,018 INFO L87 Difference]: Start difference. First operand 50 states and 55 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:44,071 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:44,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:44,442 INFO L93 Difference]: Finished difference Result 57 states and 61 transitions. [2022-04-15 16:27:44,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 16:27:44,442 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:44,443 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:27:44,443 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:44,444 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:27:44,444 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:44,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 37 transitions. [2022-04-15 16:27:44,445 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 37 transitions. [2022-04-15 16:27:46,479 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:46,480 INFO L225 Difference]: With dead ends: 57 [2022-04-15 16:27:46,480 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 16:27:46,480 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:46,481 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 13 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-15 16:27:46,481 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 103 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 55 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-15 16:27:46,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 16:27:46,510 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 41. [2022-04-15 16:27:46,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:27:46,510 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:46,510 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:46,511 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:46,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:46,512 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 16:27:46,512 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 16:27:46,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:46,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:46,513 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 16:27:46,513 INFO L87 Difference]: Start difference. First operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 50 states. [2022-04-15 16:27:46,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:27:46,515 INFO L93 Difference]: Finished difference Result 50 states and 54 transitions. [2022-04-15 16:27:46,515 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 54 transitions. [2022-04-15 16:27:46,515 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:27:46,515 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:27:46,515 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:27:46,515 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:27:46,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 28 states have internal predecessors, (30), 8 states have call successors, (8), 6 states have call predecessors, (8), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-15 16:27:46,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 45 transitions. [2022-04-15 16:27:46,517 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 45 transitions. Word has length 43 [2022-04-15 16:27:46,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:27:46,517 INFO L478 AbstractCegarLoop]: Abstraction has 41 states and 45 transitions. [2022-04-15 16:27:46,517 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:46,517 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 41 states and 45 transitions. [2022-04-15 16:27:52,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 16:27:52,702 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 45 transitions. [2022-04-15 16:27:52,702 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:27:52,702 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:27:52,702 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:27:52,719 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:52,903 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:52,903 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:27:52,903 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:27:52,903 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 3 times [2022-04-15 16:27:52,903 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:27:52,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [188305930] [2022-04-15 16:27:52,904 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:27:52,904 INFO L85 PathProgramCache]: Analyzing trace with hash 1025268728, now seen corresponding path program 4 times [2022-04-15 16:27:52,904 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:27:52,904 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1832032730] [2022-04-15 16:27:52,904 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:27:52,904 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:27:52,917 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:27:52,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2075525026] [2022-04-15 16:27:52,917 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:27:52,917 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:27:52,917 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:27:52,918 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:52,922 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:52,960 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:27:52,960 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:27:52,961 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 39 conjunts are in the unsatisfiable core [2022-04-15 16:27:52,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:27:52,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:27:54,959 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-15 16:27:54,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 16:27:54,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:27:54,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-15 16:27:54,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-15 16:27:54,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-15 16:27:54,960 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:27:54,961 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:27:54,961 INFO L290 TraceCheckUtils]: 14: Hoare triple {2616#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:54,961 INFO L290 TraceCheckUtils]: 15: Hoare triple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2620#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:27:54,962 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2620#(not (= |assume_abort_if_not_#in~cond| 0))} {2572#true} #63#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:27:54,962 INFO L272 TraceCheckUtils]: 17: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:27:54,962 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:27:54,962 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:27:54,962 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:27:54,963 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:27:54,963 INFO L290 TraceCheckUtils]: 22: Hoare triple {2627#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:54,964 INFO L290 TraceCheckUtils]: 23: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:54,964 INFO L272 TraceCheckUtils]: 24: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:27:54,964 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:27:54,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:27:54,964 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:27:54,965 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:54,965 INFO L290 TraceCheckUtils]: 29: Hoare triple {2646#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:27:54,966 INFO L290 TraceCheckUtils]: 30: Hoare triple {2668#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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; {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:27:54,967 INFO L290 TraceCheckUtils]: 31: Hoare triple {2672#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 10) (= 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); {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:27:54,968 INFO L290 TraceCheckUtils]: 32: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:27:54,968 INFO L272 TraceCheckUtils]: 33: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (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)); {2572#true} is VALID [2022-04-15 16:27:54,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:54,970 INFO L290 TraceCheckUtils]: 35: Hoare triple {2686#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:54,979 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:27:54,982 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #67#return; {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:27:54,982 INFO L290 TraceCheckUtils]: 38: Hoare triple {2676#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-15 16:27:54,983 INFO L290 TraceCheckUtils]: 39: Hoare triple {2700#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= (div (+ (- 1) main_~b~0) 2) main_~y~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; {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:27:54,985 INFO L290 TraceCheckUtils]: 40: Hoare triple {2704#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:27:54,985 INFO L290 TraceCheckUtils]: 41: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:27:54,998 INFO L272 TraceCheckUtils]: 42: Hoare triple {2708#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:27:54,998 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:27:54,998 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-15 16:27:54,998 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-15 16:27:54,999 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:54,999 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:28:53,808 INFO L290 TraceCheckUtils]: 45: Hoare triple {2573#false} assume !false; {2573#false} is VALID [2022-04-15 16:28:53,809 INFO L290 TraceCheckUtils]: 44: Hoare triple {2719#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2573#false} is VALID [2022-04-15 16:28:53,809 INFO L290 TraceCheckUtils]: 43: Hoare triple {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2719#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:28:53,810 INFO L272 TraceCheckUtils]: 42: Hoare triple {2735#(= (+ 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)); {2715#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:28:53,810 INFO L290 TraceCheckUtils]: 41: Hoare triple {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:53,840 INFO L290 TraceCheckUtils]: 40: Hoare triple {2742#(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); {2735#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:28:53,843 INFO L290 TraceCheckUtils]: 39: Hoare triple {2746#(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; {2742#(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:53,843 INFO L290 TraceCheckUtils]: 38: Hoare triple {2746#(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); {2746#(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:54,289 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} {2572#true} #67#return; {2746#(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:54,289 INFO L290 TraceCheckUtils]: 36: Hoare triple {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2690#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 34: Hoare triple {2572#true} ~cond := #in~cond; {2762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:28:54,290 INFO L272 TraceCheckUtils]: 33: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 32: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 30: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 29: Hoare triple {2572#true} assume !!(0 != ~y~0); {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2572#true} {2572#true} #67#return; {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 27: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 26: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:28:54,290 INFO L290 TraceCheckUtils]: 25: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L272 TraceCheckUtils]: 24: Hoare triple {2572#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {2572#true} assume !false; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {2572#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2572#true} {2572#true} #65#return; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 19: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 18: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L272 TraceCheckUtils]: 17: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2572#true} {2572#true} #63#return; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L272 TraceCheckUtils]: 12: Hoare triple {2572#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 11: Hoare triple {2572#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2572#true} {2572#true} #61#return; {2572#true} is VALID [2022-04-15 16:28:54,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L290 TraceCheckUtils]: 8: Hoare triple {2572#true} assume !(0 == ~cond); {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L290 TraceCheckUtils]: 7: Hoare triple {2572#true} ~cond := #in~cond; {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L272 TraceCheckUtils]: 6: Hoare triple {2572#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L290 TraceCheckUtils]: 5: Hoare triple {2572#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; {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L272 TraceCheckUtils]: 4: Hoare triple {2572#true} call #t~ret6 := main(); {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2572#true} {2572#true} #71#return; {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {2572#true} assume true; {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {2572#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); {2572#true} is VALID [2022-04-15 16:28:54,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {2572#true} call ULTIMATE.init(); {2572#true} is VALID [2022-04-15 16:28:54,292 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:54,292 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:28:54,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1832032730] [2022-04-15 16:28:54,292 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:28:54,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2075525026] [2022-04-15 16:28:54,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2075525026] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:28:54,293 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:28:54,293 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-15 16:28:54,293 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:28:54,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [188305930] [2022-04-15 16:28:54,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [188305930] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:28:54,293 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:28:54,293 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 16:28:54,293 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319010610] [2022-04-15 16:28:54,293 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:28:54,293 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:54,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:28:54,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:54,340 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:54,340 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 16:28:54,340 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:28:54,341 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 16:28:54,341 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=313, Unknown=0, NotChecked=0, Total=380 [2022-04-15 16:28:54,341 INFO L87 Difference]: Start difference. First operand 41 states and 45 transitions. Second operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:55,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:55,882 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 16:28:55,882 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 16:28:55,882 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:55,883 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:28:55,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:55,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 16:28:55,884 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:55,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 57 transitions. [2022-04-15 16:28:55,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 57 transitions. [2022-04-15 16:28:55,952 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:28:55,954 INFO L225 Difference]: With dead ends: 63 [2022-04-15 16:28:55,954 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 16:28:55,954 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 70 SyntacticMatches, 3 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 115 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=84, Invalid=422, Unknown=0, NotChecked=0, Total=506 [2022-04-15 16:28:55,955 INFO L913 BasicCegarLoop]: 20 mSDtfsCounter, 29 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 376 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 170 SdHoareTripleChecker+Invalid, 389 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 376 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-15 16:28:55,955 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 170 Invalid, 389 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 376 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-15 16:28:55,955 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 16:28:56,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 16:28:56,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:28:56,009 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:56,009 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:56,009 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:56,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:56,011 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 16:28:56,011 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 16:28:56,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:56,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:56,012 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 16:28:56,012 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 16:28:56,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:28:56,014 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 16:28:56,014 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 16:28:56,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:28:56,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:28:56,014 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:28:56,014 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:28:56,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:28:56,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:28:56,016 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 16:28:56,016 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:28:56,016 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:28:56,016 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.8125) internal successors, (29), 14 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:56,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:29:04,126 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 51 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 16:29:04,126 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:29:04,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:29:04,127 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:29:04,127 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:29:04,143 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:29:04,327 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:29:04,327 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:29:04,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:29:04,328 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 1 times [2022-04-15 16:29:04,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:29:04,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [958410041] [2022-04-15 16:29:04,328 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:29:04,328 INFO L85 PathProgramCache]: Analyzing trace with hash -1494691206, now seen corresponding path program 2 times [2022-04-15 16:29:04,328 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:29:04,328 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [639913784] [2022-04-15 16:29:04,329 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:29:04,329 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:29:04,345 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:29:04,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [327829932] [2022-04-15 16:29:04,345 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 16:29:04,345 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:29:04,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:29:04,346 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:29:04,373 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:29:04,401 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 16:29:04,402 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:29:04,402 INFO L263 TraceCheckSpWp]: Trace formula consists of 127 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-15 16:29:04,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:29:04,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:29:09,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:09,210 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:09,211 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-15 16:29:09,212 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:29:09,212 INFO L290 TraceCheckUtils]: 23: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !false; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:29:09,212 INFO L272 TraceCheckUtils]: 24: Hoare triple {3292#(= main_~b~0 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:09,212 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:09,212 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:09,212 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:09,218 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3292#(= main_~b~0 main_~y~0)} #67#return; {3292#(= main_~b~0 main_~y~0)} is VALID [2022-04-15 16:29:09,218 INFO L290 TraceCheckUtils]: 29: Hoare triple {3292#(= main_~b~0 main_~y~0)} assume !!(0 != ~y~0); {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~0))} is VALID [2022-04-15 16:29:09,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {3314#(and (not (= main_~y~0 0)) (= main_~b~0 main_~y~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; {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0))} is VALID [2022-04-15 16:29:09,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {3318#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~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); {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:09,221 INFO L290 TraceCheckUtils]: 32: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !false; {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:09,221 INFO L272 TraceCheckUtils]: 33: Hoare triple {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:09,221 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:29:09,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {3332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:29:09,222 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:29:09,223 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3322#(and (<= 1 (mod main_~b~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} #67#return; {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:09,223 INFO L290 TraceCheckUtils]: 38: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !!(0 != ~y~0); {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:09,224 INFO L290 TraceCheckUtils]: 39: Hoare triple {3343#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:10,134 INFO L290 TraceCheckUtils]: 40: Hoare triple {3350#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0) (= (mod main_~x~0 2) 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); {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:10,135 INFO L290 TraceCheckUtils]: 41: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} assume !false; {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:29:10,535 INFO L272 TraceCheckUtils]: 42: Hoare triple {3354#(and (<= 1 (mod main_~b~0 2)) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (= (mod (div (- main_~x~0) (- 2)) 2) 0) (= (+ main_~z~0 (* (div (+ (- 1) main_~b~0) 2) (div (- main_~x~0) (- 2)))) (* main_~b~0 main_~a~0)) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:29:10,535 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:29:10,536 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-15 16:29:10,536 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-15 16:29:10,536 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 16:29:10,536 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:29:51,362 INFO L290 TraceCheckUtils]: 45: Hoare triple {3222#false} assume !false; {3222#false} is VALID [2022-04-15 16:29:51,363 INFO L290 TraceCheckUtils]: 44: Hoare triple {3365#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3222#false} is VALID [2022-04-15 16:29:51,363 INFO L290 TraceCheckUtils]: 43: Hoare triple {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3365#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:29:51,364 INFO L272 TraceCheckUtils]: 42: Hoare triple {3381#(= (+ 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)); {3361#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:29:51,364 INFO L290 TraceCheckUtils]: 41: Hoare triple {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:29:51,370 INFO L290 TraceCheckUtils]: 40: Hoare triple {3388#(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); {3381#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:29:51,372 INFO L290 TraceCheckUtils]: 39: Hoare triple {3392#(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)); {3388#(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:29:51,372 INFO L290 TraceCheckUtils]: 38: Hoare triple {3392#(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); {3392#(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:29:51,376 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} #67#return; {3392#(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:29:51,376 INFO L290 TraceCheckUtils]: 36: Hoare triple {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:29:51,376 INFO L290 TraceCheckUtils]: 35: Hoare triple {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:29:51,377 INFO L290 TraceCheckUtils]: 34: Hoare triple {3221#true} ~cond := #in~cond; {3409#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:29:51,377 INFO L272 TraceCheckUtils]: 33: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:51,377 INFO L290 TraceCheckUtils]: 32: Hoare triple {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} assume !false; {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 16:29:51,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (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); {3399#(or (<= 0 main_~y~0) (= (+ (* main_~x~0 2) (* 2 (* (div main_~y~0 2) main_~x~0))) (* main_~y~0 main_~x~0)) (= (mod main_~y~0 2) 0))} is VALID [2022-04-15 16:29:51,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {3221#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; {3419#(and (or (<= 0 (+ (div main_~y~0 2) 1)) (= (mod main_~y~0 2) 0) (forall ((main_~x~0 Int) (aux_div_v_main_~y~0_39_22 Int)) (or (= (* 2 (* (div main_~y~0 2) main_~x~0)) (+ (* main_~x~0 2) (* (* aux_div_v_main_~y~0_39_22 main_~x~0) 4))) (<= (+ (* aux_div_v_main_~y~0_39_22 2) 1) (div main_~y~0 2)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_39_22 2)))) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (mod main_~y~0 2) 0)) (<= 0 (div main_~y~0 2)) (<= (div (+ (- 1) (div main_~y~0 2)) 2) (div (+ (- 2) (div main_~y~0 2)) 2))))} is VALID [2022-04-15 16:29:51,389 INFO L290 TraceCheckUtils]: 29: Hoare triple {3221#true} assume !!(0 != ~y~0); {3221#true} is VALID [2022-04-15 16:29:51,389 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3221#true} {3221#true} #67#return; {3221#true} is VALID [2022-04-15 16:29:51,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:51,389 INFO L290 TraceCheckUtils]: 26: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:51,389 INFO L290 TraceCheckUtils]: 25: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L272 TraceCheckUtils]: 24: Hoare triple {3221#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {3221#true} assume !false; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 22: Hoare triple {3221#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3221#true} {3221#true} #65#return; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 19: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 18: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L272 TraceCheckUtils]: 17: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3221#true} {3221#true} #63#return; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 15: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:51,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 13: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L272 TraceCheckUtils]: 12: Hoare triple {3221#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 11: Hoare triple {3221#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3221#true} {3221#true} #61#return; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {3221#true} assume !(0 == ~cond); {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {3221#true} ~cond := #in~cond; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L272 TraceCheckUtils]: 6: Hoare triple {3221#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L290 TraceCheckUtils]: 5: Hoare triple {3221#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; {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {3221#true} call #t~ret6 := main(); {3221#true} is VALID [2022-04-15 16:29:51,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3221#true} {3221#true} #71#return; {3221#true} is VALID [2022-04-15 16:29:51,392 INFO L290 TraceCheckUtils]: 2: Hoare triple {3221#true} assume true; {3221#true} is VALID [2022-04-15 16:29:51,392 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#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); {3221#true} is VALID [2022-04-15 16:29:51,392 INFO L272 TraceCheckUtils]: 0: Hoare triple {3221#true} call ULTIMATE.init(); {3221#true} is VALID [2022-04-15 16:29:51,392 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 12 proven. 4 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-15 16:29:51,392 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:29:51,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [639913784] [2022-04-15 16:29:51,392 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:29:51,392 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327829932] [2022-04-15 16:29:51,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327829932] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:29:51,393 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:29:51,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 11] total 19 [2022-04-15 16:29:51,393 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:29:51,393 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [958410041] [2022-04-15 16:29:51,393 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [958410041] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:29:51,393 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:29:51,393 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 16:29:51,393 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [265301109] [2022-04-15 16:29:51,393 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:29:51,394 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:29:51,394 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:29:51,394 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:29:55,009 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:29:55,009 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 16:29:55,010 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:29:55,010 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 16:29:55,010 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=281, Unknown=1, NotChecked=0, Total=342 [2022-04-15 16:29:55,010 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:30:03,331 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.75s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:30:05,333 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:30:09,648 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.32s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:30:12,759 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.96s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:30:12,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:30:12,954 INFO L93 Difference]: Finished difference Result 63 states and 69 transitions. [2022-04-15 16:30:12,954 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:30:12,954 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) Word has length 46 [2022-04-15 16:30:12,955 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:30:12,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:30:12,956 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:30:12,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:30:12,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 56 transitions. [2022-04-15 16:30:12,958 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 56 transitions. [2022-04-15 16:30:15,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:30:15,254 INFO L225 Difference]: With dead ends: 63 [2022-04-15 16:30:15,254 INFO L226 Difference]: Without dead ends: 61 [2022-04-15 16:30:15,255 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 73 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 65 ImplicationChecksByTransitivity, 7.7s TimeCoverageRelationStatistics Valid=73, Invalid=346, Unknown=1, NotChecked=0, Total=420 [2022-04-15 16:30:15,255 INFO L913 BasicCegarLoop]: 27 mSDtfsCounter, 18 mSDsluCounter, 139 mSDsCounter, 0 mSdLazyCounter, 196 mSolverCounterSat, 0 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 196 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 9.0s IncrementalHoareTripleChecker+Time [2022-04-15 16:30:15,255 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 166 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 196 Invalid, 1 Unknown, 0 Unchecked, 9.0s Time] [2022-04-15 16:30:15,256 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-04-15 16:30:15,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 50. [2022-04-15 16:30:15,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:30:15,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:30:15,308 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:30:15,308 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:30:15,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:30:15,310 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 16:30:15,310 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 16:30:15,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:30:15,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:30:15,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 16:30:15,311 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 61 states. [2022-04-15 16:30:15,312 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:30:15,312 INFO L93 Difference]: Finished difference Result 61 states and 67 transitions. [2022-04-15 16:30:15,312 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 67 transitions. [2022-04-15 16:30:15,313 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:30:15,313 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:30:15,313 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:30:15,313 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:30:15,313 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:30:15,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:30:15,314 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 16:30:15,315 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:30:15,315 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:30:15,315 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.0) internal successors, (26), 12 states have internal predecessors, (26), 4 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 16:30:15,315 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:30:23,769 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 52 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-15 16:30:23,770 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:30:23,770 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:30:23,770 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:30:23,770 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:30:23,786 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-15 16:30:23,970 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:30:23,971 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:30:23,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:30:23,971 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 3 times [2022-04-15 16:30:23,971 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:30:23,971 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1888920777] [2022-04-15 16:30:23,972 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:30:23,972 INFO L85 PathProgramCache]: Analyzing trace with hash 4200374, now seen corresponding path program 4 times [2022-04-15 16:30:23,972 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:30:23,972 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1903134737] [2022-04-15 16:30:23,972 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:30:23,972 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:30:23,983 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:30:23,983 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [15462429] [2022-04-15 16:30:23,983 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:30:23,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:30:23,984 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:30:23,985 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:30:23,991 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 16:30:24,027 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:30:24,027 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:30:24,028 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-15 16:30:24,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:30:24,044 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:30:26,466 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-15 16:30:26,466 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:30:26,467 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:30:26,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:30:26,468 INFO L290 TraceCheckUtils]: 9: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:30:26,468 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3867#true} #61#return; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,469 INFO L290 TraceCheckUtils]: 11: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,469 INFO L272 TraceCheckUtils]: 12: Hoare triple {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:30:26,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:30:26,469 INFO L290 TraceCheckUtils]: 14: Hoare triple {3893#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:30:26,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3897#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:30:26,470 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3897#(not (= |assume_abort_if_not_#in~cond| 0))} {3904#(and (<= 0 main_~a~0) (<= main_~a~0 10))} #63#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,471 INFO L272 TraceCheckUtils]: 17: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:30:26,471 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 16:30:26,471 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 16:30:26,471 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:30:26,471 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #65#return; {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,472 INFO L290 TraceCheckUtils]: 22: Hoare triple {3923#(and (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,472 INFO L290 TraceCheckUtils]: 23: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !false; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,472 INFO L272 TraceCheckUtils]: 24: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:30:26,473 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:26,473 INFO L290 TraceCheckUtils]: 26: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:26,473 INFO L290 TraceCheckUtils]: 27: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:26,474 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} #67#return; {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,475 INFO L290 TraceCheckUtils]: 29: Hoare triple {3942#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,475 INFO L290 TraceCheckUtils]: 30: Hoare triple {3966#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {3970#(and (= main_~z~0 0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0) (<= main_~a~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,476 INFO L290 TraceCheckUtils]: 32: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !false; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,476 INFO L272 TraceCheckUtils]: 33: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:30:26,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:26,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {3952#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:26,477 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:30:26,478 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} #67#return; {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,479 INFO L290 TraceCheckUtils]: 38: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} assume !!(0 != ~y~0); {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} is VALID [2022-04-15 16:30:26,480 INFO L290 TraceCheckUtils]: 39: Hoare triple {3974#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10) (<= main_~a~0 10))} 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; {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:30:26,482 INFO L290 TraceCheckUtils]: 40: Hoare triple {3999#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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); {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:30:26,483 INFO L290 TraceCheckUtils]: 41: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !false; {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-15 16:30:26,497 INFO L272 TraceCheckUtils]: 42: Hoare triple {4003#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (<= 0 main_~a~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= main_~b~0 10) (<= main_~a~0 10) (<= 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:30:26,498 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:30:26,498 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-15 16:30:26,498 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-15 16:30:26,499 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 2 proven. 17 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 16:30:26,499 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:31:11,657 INFO L290 TraceCheckUtils]: 45: Hoare triple {3868#false} assume !false; {3868#false} is VALID [2022-04-15 16:31:11,657 INFO L290 TraceCheckUtils]: 44: Hoare triple {4014#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3868#false} is VALID [2022-04-15 16:31:11,658 INFO L290 TraceCheckUtils]: 43: Hoare triple {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4014#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:31:11,658 INFO L272 TraceCheckUtils]: 42: Hoare triple {4030#(= (+ 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)); {4010#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:31:11,659 INFO L290 TraceCheckUtils]: 41: Hoare triple {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:31:11,693 INFO L290 TraceCheckUtils]: 40: Hoare triple {4037#(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); {4030#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:31:11,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {4041#(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; {4037#(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:31:11,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {4041#(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); {4041#(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:31:11,894 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} {3867#true} #67#return; {4041#(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:31:11,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:11,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3956#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:11,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {3867#true} ~cond := #in~cond; {4057#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:31:11,895 INFO L272 TraceCheckUtils]: 33: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:31:11,895 INFO L290 TraceCheckUtils]: 32: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 30: Hoare triple {3867#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 29: Hoare triple {3867#true} assume !!(0 != ~y~0); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3867#true} {3867#true} #67#return; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L272 TraceCheckUtils]: 24: Hoare triple {3867#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 23: Hoare triple {3867#true} assume !false; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 22: Hoare triple {3867#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3867#true} {3867#true} #65#return; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 18: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L272 TraceCheckUtils]: 17: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3867#true} {3867#true} #63#return; {3867#true} is VALID [2022-04-15 16:31:11,896 INFO L290 TraceCheckUtils]: 15: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 13: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L272 TraceCheckUtils]: 12: Hoare triple {3867#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 11: Hoare triple {3867#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3867#true} {3867#true} #61#return; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 8: Hoare triple {3867#true} assume !(0 == ~cond); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {3867#true} ~cond := #in~cond; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L272 TraceCheckUtils]: 6: Hoare triple {3867#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {3867#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; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L272 TraceCheckUtils]: 4: Hoare triple {3867#true} call #t~ret6 := main(); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3867#true} {3867#true} #71#return; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 2: Hoare triple {3867#true} assume true; {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L290 TraceCheckUtils]: 1: Hoare triple {3867#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); {3867#true} is VALID [2022-04-15 16:31:11,897 INFO L272 TraceCheckUtils]: 0: Hoare triple {3867#true} call ULTIMATE.init(); {3867#true} is VALID [2022-04-15 16:31:11,898 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:31:11,898 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:31:11,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1903134737] [2022-04-15 16:31:11,898 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:31:11,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [15462429] [2022-04-15 16:31:11,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [15462429] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:31:11,898 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:31:11,898 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-15 16:31:11,898 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:31:11,898 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1888920777] [2022-04-15 16:31:11,898 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1888920777] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:31:11,898 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:31:11,899 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 16:31:11,899 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1521812032] [2022-04-15 16:31:11,899 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:31:11,900 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-15 16:31:11,900 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:31:11,900 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 16:31:11,949 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:31:11,949 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 16:31:11,949 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:31:11,950 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 16:31:11,950 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-15 16:31:11,950 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 16:31:13,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:31:13,041 INFO L93 Difference]: Finished difference Result 72 states and 79 transitions. [2022-04-15 16:31:13,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-15 16:31:13,042 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) Word has length 46 [2022-04-15 16:31:13,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:31:13,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 16:31:13,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-15 16:31:13,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 16:31:13,052 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 56 transitions. [2022-04-15 16:31:13,052 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 56 transitions. [2022-04-15 16:31:13,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:31:13,114 INFO L225 Difference]: With dead ends: 72 [2022-04-15 16:31:13,115 INFO L226 Difference]: Without dead ends: 70 [2022-04-15 16:31:13,115 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 69 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 111 ImplicationChecksByTransitivity, 2.8s TimeCoverageRelationStatistics Valid=89, Invalid=417, Unknown=0, NotChecked=0, Total=506 [2022-04-15 16:31:13,115 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 34 mSDsluCounter, 125 mSDsCounter, 0 mSdLazyCounter, 316 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 329 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 316 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:31:13,116 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 146 Invalid, 329 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 316 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 16:31:13,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-15 16:31:13,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 59. [2022-04-15 16:31:13,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:31:13,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:31:13,214 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:31:13,214 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:31:13,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:31:13,216 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 16:31:13,216 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 16:31:13,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:31:13,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:31:13,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 16:31:13,217 INFO L87 Difference]: Start difference. First operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 70 states. [2022-04-15 16:31:13,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:31:13,219 INFO L93 Difference]: Finished difference Result 70 states and 77 transitions. [2022-04-15 16:31:13,219 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 77 transitions. [2022-04-15 16:31:13,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:31:13,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:31:13,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:31:13,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:31:13,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 41 states have (on average 1.1219512195121952) internal successors, (46), 42 states have internal predecessors, (46), 10 states have call successors, (10), 8 states have call predecessors, (10), 7 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 16:31:13,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 65 transitions. [2022-04-15 16:31:13,221 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 65 transitions. Word has length 46 [2022-04-15 16:31:13,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:31:13,222 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 65 transitions. [2022-04-15 16:31:13,222 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 14 states have internal predecessors, (26), 6 states have call successors, (8), 2 states have call predecessors, (8), 3 states have return successors, (6), 5 states have call predecessors, (6), 5 states have call successors, (6) [2022-04-15 16:31:13,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 65 transitions. [2022-04-15 16:31:17,961 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 64 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:31:17,962 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 65 transitions. [2022-04-15 16:31:17,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-15 16:31:17,962 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:31:17,962 INFO L499 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:31:17,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 16:31:18,171 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-15 16:31:18,172 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:31:18,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:31:18,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 3 times [2022-04-15 16:31:18,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:31:18,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [62096435] [2022-04-15 16:31:18,172 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:31:18,172 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 4 times [2022-04-15 16:31:18,172 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:31:18,172 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446347417] [2022-04-15 16:31:18,172 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:31:18,173 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:31:18,187 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:31:18,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [640236198] [2022-04-15 16:31:18,187 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 16:31:18,187 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:31:18,187 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:31:18,188 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:31:18,189 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 16:31:18,230 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 16:31:18,230 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:31:18,231 INFO L263 TraceCheckSpWp]: Trace formula consists of 91 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 16:31:18,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:31:18,246 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:31:20,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {4570#true} call ULTIMATE.init(); {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {4570#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); {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4570#true} {4570#true} #71#return; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {4570#true} call #t~ret6 := main(); {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {4570#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; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {4570#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4570#true} {4570#true} #61#return; {4570#true} is VALID [2022-04-15 16:31:20,294 INFO L290 TraceCheckUtils]: 11: Hoare triple {4570#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4570#true} is VALID [2022-04-15 16:31:20,295 INFO L272 TraceCheckUtils]: 12: Hoare triple {4570#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {4570#true} is VALID [2022-04-15 16:31:20,295 INFO L290 TraceCheckUtils]: 13: Hoare triple {4570#true} ~cond := #in~cond; {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:31:20,295 INFO L290 TraceCheckUtils]: 14: Hoare triple {4614#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:31:20,295 INFO L290 TraceCheckUtils]: 15: Hoare triple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:31:20,296 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4618#(not (= |assume_abort_if_not_#in~cond| 0))} {4570#true} #63#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:31:20,296 INFO L272 TraceCheckUtils]: 17: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4570#true} is VALID [2022-04-15 16:31:20,296 INFO L290 TraceCheckUtils]: 18: Hoare triple {4570#true} ~cond := #in~cond; {4570#true} is VALID [2022-04-15 16:31:20,296 INFO L290 TraceCheckUtils]: 19: Hoare triple {4570#true} assume !(0 == ~cond); {4570#true} is VALID [2022-04-15 16:31:20,296 INFO L290 TraceCheckUtils]: 20: Hoare triple {4570#true} assume true; {4570#true} is VALID [2022-04-15 16:31:20,296 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4570#true} {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} #65#return; {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:31:20,297 INFO L290 TraceCheckUtils]: 22: Hoare triple {4625#(and (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:31:20,297 INFO L290 TraceCheckUtils]: 23: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !false; {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:31:20,297 INFO L272 TraceCheckUtils]: 24: Hoare triple {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4570#true} is VALID [2022-04-15 16:31:20,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:31:20,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:20,300 INFO L290 TraceCheckUtils]: 27: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:20,301 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4644#(and (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} #67#return; {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:31:20,301 INFO L290 TraceCheckUtils]: 29: Hoare triple {4665#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:31:20,302 INFO L290 TraceCheckUtils]: 30: Hoare triple {4669#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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)); {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:31:20,303 INFO L290 TraceCheckUtils]: 31: Hoare triple {4673#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 0 main_~b~0) (<= main_~b~0 10) (= 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); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:31:20,303 INFO L290 TraceCheckUtils]: 32: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !false; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:31:20,303 INFO L272 TraceCheckUtils]: 33: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~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)); {4570#true} is VALID [2022-04-15 16:31:20,304 INFO L290 TraceCheckUtils]: 34: Hoare triple {4570#true} ~cond := #in~cond; {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:31:20,304 INFO L290 TraceCheckUtils]: 35: Hoare triple {4654#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:20,305 INFO L290 TraceCheckUtils]: 36: Hoare triple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:31:20,305 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4658#(not (= |__VERIFIER_assert_#in~cond| 0))} {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} #67#return; {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:31:20,306 INFO L290 TraceCheckUtils]: 38: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !!(0 != ~y~0); {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:31:20,307 INFO L290 TraceCheckUtils]: 39: Hoare triple {4677#(and (= main_~y~0 (div 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) (<= main_~b~0 10) (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (* main_~b~0 main_~a~0)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:31:20,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {4702#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:31:20,309 INFO L290 TraceCheckUtils]: 41: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} assume !false; {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} is VALID [2022-04-15 16:31:20,312 INFO L272 TraceCheckUtils]: 42: Hoare triple {4706#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= main_~b~0 0)) (not (= (mod main_~b~0 2) 1)) (<= 0 main_~b~0) (<= main_~b~0 10))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:31:20,313 INFO L290 TraceCheckUtils]: 43: Hoare triple {4713#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4717#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:31:20,313 INFO L290 TraceCheckUtils]: 44: Hoare triple {4717#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4571#false} is VALID [2022-04-15 16:31:20,313 INFO L290 TraceCheckUtils]: 45: Hoare triple {4571#false} assume !false; {4571#false} is VALID [2022-04-15 16:31:20,313 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 5 proven. 14 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-15 16:31:20,313 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:34:44,291 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:34:44,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446347417] [2022-04-15 16:34:44,292 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:34:44,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [640236198] [2022-04-15 16:34:44,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [640236198] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 16:34:44,292 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 16:34:44,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-15 16:34:44,292 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:34:44,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [62096435] [2022-04-15 16:34:44,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [62096435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:34:44,292 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:34:44,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-15 16:34:44,293 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [752203052] [2022-04-15 16:34:44,293 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:34:44,293 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:44,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:34:44,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:44,327 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:34:44,327 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-15 16:34:44,327 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:34:44,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-15 16:34:44,327 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=99, Invalid=407, Unknown=0, NotChecked=0, Total=506 [2022-04-15 16:34:44,328 INFO L87 Difference]: Start difference. First operand 59 states and 65 transitions. Second operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:45,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:45,459 INFO L93 Difference]: Finished difference Result 71 states and 78 transitions. [2022-04-15 16:34:45,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-15 16:34:45,459 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:45,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:34:45,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:45,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-15 16:34:45,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:45,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 55 transitions. [2022-04-15 16:34:45,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 55 transitions. [2022-04-15 16:34:45,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 16:34:45,518 INFO L225 Difference]: With dead ends: 71 [2022-04-15 16:34:45,518 INFO L226 Difference]: Without dead ends: 69 [2022-04-15 16:34:45,519 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 38 SyntacticMatches, 4 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 179 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-15 16:34:45,519 INFO L913 BasicCegarLoop]: 21 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 285 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 285 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 16:34:45,519 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 144 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 285 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 16:34:45,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-15 16:34:45,615 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 50. [2022-04-15 16:34:45,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:34:45,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:34:45,615 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:34:45,615 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:34:45,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:45,617 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 16:34:45,617 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 16:34:45,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:34:45,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:34:45,617 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 16:34:45,617 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 69 states. [2022-04-15 16:34:45,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:34:45,618 INFO L93 Difference]: Finished difference Result 69 states and 76 transitions. [2022-04-15 16:34:45,618 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 76 transitions. [2022-04-15 16:34:45,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:34:45,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:34:45,619 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:34:45,619 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:34:45,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.1176470588235294) internal successors, (38), 35 states have internal predecessors, (38), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:34:45,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 55 transitions. [2022-04-15 16:34:45,620 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 55 transitions. Word has length 46 [2022-04-15 16:34:45,620 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:34:45,621 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 55 transitions. [2022-04-15 16:34:45,621 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 1.625) internal successors, (26), 13 states have internal predecessors, (26), 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:34:45,621 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 55 transitions. [2022-04-15 16:34:50,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:34:50,018 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 55 transitions. [2022-04-15 16:34:50,018 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 16:34:50,018 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:34:50,018 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:34:50,035 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-15 16:34:50,219 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-15 16:34:50,219 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:34:50,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:34:50,219 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 5 times [2022-04-15 16:34:50,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:34:50,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [957998396] [2022-04-15 16:34:50,220 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:34:50,220 INFO L85 PathProgramCache]: Analyzing trace with hash 1060406066, now seen corresponding path program 6 times [2022-04-15 16:34:50,220 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:34:50,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2087197487] [2022-04-15 16:34:50,220 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:34:50,220 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:34:50,231 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:34:50,231 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [327757434] [2022-04-15 16:34:50,231 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 16:34:50,231 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:34:50,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:34:50,232 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 16:34:50,235 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 16:34:50,271 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-15 16:34:50,271 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:34:50,272 INFO L263 TraceCheckSpWp]: Trace formula consists of 119 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-15 16:34:50,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:34:50,287 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:35:06,439 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 16:35:11,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-15 16:35:11,099 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 16:35:11,100 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:35:11,101 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:35:11,102 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:35:11,102 INFO L290 TraceCheckUtils]: 44: Hoare triple {5304#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:11,103 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:35:11,103 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:35:11,104 INFO L290 TraceCheckUtils]: 47: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(0 != ~y~0); {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-15 16:35:11,107 INFO L290 TraceCheckUtils]: 48: Hoare triple {5319#(and (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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; {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-15 16:35:11,203 INFO L290 TraceCheckUtils]: 49: Hoare triple {5323#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~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); {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} is VALID [2022-04-15 16:35:11,618 INFO L290 TraceCheckUtils]: 50: Hoare triple {5327#(and (= (mod main_~x~0 2) 0) (exists ((aux_div_v_main_~y~0_59_28 Int) (aux_mod_v_main_~y~0_59_28 Int)) (and (= (+ (div (* (- 1) main_~x~0) (- 2)) (* main_~b~0 main_~a~0)) (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) aux_div_v_main_~y~0_59_28)) (* (div (* (- 1) main_~x~0) (- 2)) aux_mod_v_main_~y~0_59_28))) (< aux_mod_v_main_~y~0_59_28 2) (= main_~y~0 (div (+ (- 1) aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2)) 2)) (<= 1 aux_mod_v_main_~y~0_59_28) (<= 0 (+ aux_mod_v_main_~y~0_59_28 (* aux_div_v_main_~y~0_59_28 2))))))} assume !false; {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} is VALID [2022-04-15 16:35:12,773 INFO L272 TraceCheckUtils]: 51: Hoare triple {5331#(and (= (+ main_~z~0 (* 2 (* (div (* (- 1) main_~x~0) (- 2)) main_~y~0))) (* main_~b~0 main_~a~0)) (< 0 (+ main_~y~0 1)) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:35:12,774 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:35:12,774 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-15 16:35:12,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-15 16:35:12,775 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 16:35:12,775 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 16:36:06,168 INFO L290 TraceCheckUtils]: 54: Hoare triple {5171#false} assume !false; {5171#false} is VALID [2022-04-15 16:36:06,169 INFO L290 TraceCheckUtils]: 53: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5171#false} is VALID [2022-04-15 16:36:06,169 INFO L290 TraceCheckUtils]: 52: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:36:06,169 INFO L272 TraceCheckUtils]: 51: Hoare triple {5315#(= (+ 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)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:36:06,170 INFO L290 TraceCheckUtils]: 50: Hoare triple {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:36:06,175 INFO L290 TraceCheckUtils]: 49: Hoare triple {5361#(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); {5315#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-15 16:36:06,177 INFO L290 TraceCheckUtils]: 48: Hoare triple {5365#(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; {5361#(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:36:06,177 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(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); {5365#(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:36:06,640 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} {5170#true} #67#return; {5365#(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:36:06,640 INFO L290 TraceCheckUtils]: 45: Hoare triple {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5308#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {5170#true} ~cond := #in~cond; {5381#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 16:36:06,641 INFO L272 TraceCheckUtils]: 42: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 41: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 40: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 39: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,641 INFO L290 TraceCheckUtils]: 35: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 34: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L272 TraceCheckUtils]: 33: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 32: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 31: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 30: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 29: Hoare triple {5170#true} assume !!(0 != ~y~0); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5170#true} {5170#true} #67#return; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 27: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 26: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 25: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L272 TraceCheckUtils]: 24: Hoare triple {5170#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 23: Hoare triple {5170#true} assume !false; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 22: Hoare triple {5170#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5170#true} {5170#true} #65#return; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 20: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:36:06,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L272 TraceCheckUtils]: 17: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5170#true} {5170#true} #63#return; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 15: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L272 TraceCheckUtils]: 12: Hoare triple {5170#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {5170#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5170#true} {5170#true} #61#return; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {5170#true} assume !(0 == ~cond); {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {5170#true} ~cond := #in~cond; {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {5170#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5170#true} is VALID [2022-04-15 16:36:06,643 INFO L290 TraceCheckUtils]: 5: Hoare triple {5170#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; {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L272 TraceCheckUtils]: 4: Hoare triple {5170#true} call #t~ret6 := main(); {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5170#true} {5170#true} #71#return; {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {5170#true} assume true; {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {5170#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); {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L272 TraceCheckUtils]: 0: Hoare triple {5170#true} call ULTIMATE.init(); {5170#true} is VALID [2022-04-15 16:36:06,644 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 23 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-15 16:36:06,644 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 16:36:06,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2087197487] [2022-04-15 16:36:06,645 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 16:36:06,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [327757434] [2022-04-15 16:36:06,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [327757434] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 16:36:06,645 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 16:36:06,645 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 14 [2022-04-15 16:36:06,645 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 16:36:06,645 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [957998396] [2022-04-15 16:36:06,645 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [957998396] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 16:36:06,645 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 16:36:06,646 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 16:36:06,646 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66017712] [2022-04-15 16:36:06,646 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 16:36:06,646 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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 55 [2022-04-15 16:36:06,646 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 16:36:06,646 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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:36:09,167 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:36:09,167 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 16:36:09,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 16:36:09,168 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 16:36:09,168 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=141, Unknown=2, NotChecked=0, Total=182 [2022-04-15 16:36:09,168 INFO L87 Difference]: Start difference. First operand 50 states and 55 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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:36:17,312 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.02s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:20,848 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:36:22,460 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.31s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:27,248 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.06s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:29,429 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:35,092 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.12s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:42,146 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.85s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 16:36:43,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:43,137 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-04-15 16:36:43,137 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 16:36:43,137 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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 55 [2022-04-15 16:36:43,137 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 16:36:43,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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:36:43,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-15 16:36:43,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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:36:43,139 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 50 transitions. [2022-04-15 16:36:43,139 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 50 transitions. [2022-04-15 16:36:48,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 48 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 16:36:48,405 INFO L225 Difference]: With dead ends: 86 [2022-04-15 16:36:48,405 INFO L226 Difference]: Without dead ends: 50 [2022-04-15 16:36:48,406 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 95 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 53 ImplicationChecksByTransitivity, 12.5s TimeCoverageRelationStatistics Valid=78, Invalid=262, Unknown=2, NotChecked=0, Total=342 [2022-04-15 16:36:48,406 INFO L913 BasicCegarLoop]: 25 mSDtfsCounter, 19 mSDsluCounter, 137 mSDsCounter, 0 mSdLazyCounter, 149 mSolverCounterSat, 10 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 15.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 162 SdHoareTripleChecker+Invalid, 179 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 149 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 15.4s IncrementalHoareTripleChecker+Time [2022-04-15 16:36:48,406 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 162 Invalid, 179 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 149 Invalid, 1 Unknown, 19 Unchecked, 15.4s Time] [2022-04-15 16:36:48,407 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-15 16:36:48,481 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-15 16:36:48,481 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 16:36:48,482 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:48,482 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:48,482 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:48,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:48,483 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 16:36:48,483 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:36:48,483 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:36:48,483 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:36:48,484 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 16:36:48,484 INFO L87 Difference]: Start difference. First operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 50 states. [2022-04-15 16:36:48,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 16:36:48,485 INFO L93 Difference]: Finished difference Result 50 states and 52 transitions. [2022-04-15 16:36:48,485 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:36:48,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 16:36:48,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 16:36:48,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 16:36:48,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 16:36:48,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 34 states have (on average 1.0294117647058822) internal successors, (35), 35 states have internal predecessors, (35), 9 states have call successors, (9), 7 states have call predecessors, (9), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-15 16:36:48,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 52 transitions. [2022-04-15 16:36:48,486 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 52 transitions. Word has length 55 [2022-04-15 16:36:48,486 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 16:36:48,486 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 52 transitions. [2022-04-15 16:36:48,487 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 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:36:48,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 52 transitions. [2022-04-15 16:36:53,709 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 51 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 16:36:53,709 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 52 transitions. [2022-04-15 16:36:53,710 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-15 16:36:53,710 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 16:36:53,710 INFO L499 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 16:36:53,727 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 16:36:53,915 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-15 16:36:53,916 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 16:36:53,916 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 16:36:53,916 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 5 times [2022-04-15 16:36:53,916 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 16:36:53,916 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1580409311] [2022-04-15 16:36:53,916 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 16:36:53,916 INFO L85 PathProgramCache]: Analyzing trace with hash 1954893684, now seen corresponding path program 6 times [2022-04-15 16:36:53,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 16:36:53,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [136373696] [2022-04-15 16:36:53,917 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 16:36:53,917 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 16:36:53,928 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 16:36:53,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1772457654] [2022-04-15 16:36:53,928 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 16:36:53,928 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 16:36:53,929 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 16:36:53,930 INFO L229 MonitoredProcess]: Starting monitored process 12 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:36:53,931 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 16:36:53,982 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-15 16:36:53,982 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 16:36:53,983 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 16:36:54,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 16:36:54,002 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 16:37:15,167 INFO L272 TraceCheckUtils]: 0: Hoare triple {5895#true} call ULTIMATE.init(); {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L290 TraceCheckUtils]: 1: Hoare triple {5895#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); {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L290 TraceCheckUtils]: 2: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5895#true} {5895#true} #71#return; {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L272 TraceCheckUtils]: 4: Hoare triple {5895#true} call #t~ret6 := main(); {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L290 TraceCheckUtils]: 5: Hoare triple {5895#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; {5895#true} is VALID [2022-04-15 16:37:15,167 INFO L272 TraceCheckUtils]: 6: Hoare triple {5895#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 10 then 1 else 0)); {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5895#true} {5895#true} #61#return; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {5895#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L272 TraceCheckUtils]: 12: Hoare triple {5895#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 10 then 1 else 0)); {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5895#true} {5895#true} #63#return; {5895#true} is VALID [2022-04-15 16:37:15,168 INFO L272 TraceCheckUtils]: 17: Hoare triple {5895#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5895#true} is VALID [2022-04-15 16:37:15,169 INFO L290 TraceCheckUtils]: 18: Hoare triple {5895#true} ~cond := #in~cond; {5954#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 16:37:15,169 INFO L290 TraceCheckUtils]: 19: Hoare triple {5954#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {5958#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:37:15,169 INFO L290 TraceCheckUtils]: 20: Hoare triple {5958#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {5958#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 16:37:15,170 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5958#(not (= |assume_abort_if_not_#in~cond| 0))} {5895#true} #65#return; {5965#(<= 1 main_~b~0)} is VALID [2022-04-15 16:37:15,170 INFO L290 TraceCheckUtils]: 22: Hoare triple {5965#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:37:15,170 INFO L290 TraceCheckUtils]: 23: Hoare triple {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:37:15,170 INFO L272 TraceCheckUtils]: 24: Hoare triple {5969#(and (= main_~z~0 0) (= 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)); {5895#true} is VALID [2022-04-15 16:37:15,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-15 16:37:15,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-15 16:37:15,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-15 16:37:15,171 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5895#true} {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:37:15,171 INFO L290 TraceCheckUtils]: 29: Hoare triple {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5969#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 16:37:15,172 INFO L290 TraceCheckUtils]: 30: Hoare triple {5969#(and (= main_~z~0 0) (= 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)); {5994#(and (= main_~z~0 0) (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:37:15,173 INFO L290 TraceCheckUtils]: 31: Hoare triple {5994#(and (= main_~z~0 0) (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); {5998#(and (= main_~z~0 0) (= main_~y~0 (div 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:37:15,173 INFO L290 TraceCheckUtils]: 32: Hoare triple {5998#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {5998#(and (= main_~z~0 0) (= main_~y~0 (div 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:37:15,173 INFO L272 TraceCheckUtils]: 33: Hoare triple {5998#(and (= main_~z~0 0) (= main_~y~0 (div 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)); {5895#true} is VALID [2022-04-15 16:37:15,173 INFO L290 TraceCheckUtils]: 34: Hoare triple {5895#true} ~cond := #in~cond; {5895#true} is VALID [2022-04-15 16:37:15,173 INFO L290 TraceCheckUtils]: 35: Hoare triple {5895#true} assume !(0 == ~cond); {5895#true} is VALID [2022-04-15 16:37:15,173 INFO L290 TraceCheckUtils]: 36: Hoare triple {5895#true} assume true; {5895#true} is VALID [2022-04-15 16:37:15,174 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5895#true} {5998#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {5998#(and (= main_~z~0 0) (= main_~y~0 (div 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:37:15,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {5998#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {5998#(and (= main_~z~0 0) (= main_~y~0 (div 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:37:15,175 INFO L290 TraceCheckUtils]: 39: Hoare triple {5998#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6023#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,176 INFO L290 TraceCheckUtils]: 40: Hoare triple {6023#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~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); {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,177 INFO L290 TraceCheckUtils]: 41: Hoare triple {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !false; {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,177 INFO L272 TraceCheckUtils]: 42: Hoare triple {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (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)); {5895#true} is VALID [2022-04-15 16:37:15,177 INFO L290 TraceCheckUtils]: 43: Hoare triple {5895#true} ~cond := #in~cond; {6037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:37:15,177 INFO L290 TraceCheckUtils]: 44: Hoare triple {6037#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:37:15,178 INFO L290 TraceCheckUtils]: 45: Hoare triple {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 16:37:15,178 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6041#(not (= |__VERIFIER_assert_#in~cond| 0))} {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #67#return; {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,179 INFO L290 TraceCheckUtils]: 47: Hoare triple {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,180 INFO L290 TraceCheckUtils]: 48: Hoare triple {6027#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6054#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-15 16:37:15,182 INFO L290 TraceCheckUtils]: 49: Hoare triple {6054#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod main_~y~0 2) 1)) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~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); {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-15 16:37:15,182 INFO L290 TraceCheckUtils]: 50: Hoare triple {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} assume !false; {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} is VALID [2022-04-15 16:37:15,185 INFO L272 TraceCheckUtils]: 51: Hoare triple {6058#(and (= main_~z~0 0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~x~0 (* main_~a~0 8)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (div (div (div main_~b~0 2) 2) 2) main_~y~0) (not (= (mod (div (div main_~b~0 2) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 16:37:15,185 INFO L290 TraceCheckUtils]: 52: Hoare triple {6065#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6069#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 16:37:15,185 INFO L290 TraceCheckUtils]: 53: Hoare triple {6069#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5896#false} is VALID [2022-04-15 16:37:15,185 INFO L290 TraceCheckUtils]: 54: Hoare triple {5896#false} assume !false; {5896#false} is VALID [2022-04-15 16:37:15,186 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 17 proven. 22 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-15 16:37:15,186 INFO L328 TraceCheckSpWp]: Computing backward predicates...