/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/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:18:10,028 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:18:10,030 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:18:10,068 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:18:10,069 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:18:10,070 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:18:10,072 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:18:10,077 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:18:10,078 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:18:10,082 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:18:10,082 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:18:10,083 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:18:10,084 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:18:10,085 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:18:10,086 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:18:10,091 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:18:10,091 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:18:10,092 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:18:10,093 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:18:10,094 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:18:10,094 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:18:10,097 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:18:10,097 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:18:10,098 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:18:10,099 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:18:10,104 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:18:10,104 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:18:10,105 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:18:10,105 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:18:10,105 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:18:10,106 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:18:10,106 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:18:10,107 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:18:10,108 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:18:10,108 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:18:10,108 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:18:10,109 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:18:10,109 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:18:10,109 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:18:10,109 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:18:10,110 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:18:10,111 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:18:10,111 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 07:18:10,119 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:18:10,120 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:18:10,120 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:18:10,121 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:18:10,122 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:18:10,122 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:18:10,122 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:18:10,123 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:18:10,123 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:18:10,123 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:18:10,123 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:18:10,123 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 07:18:10,314 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:18:10,330 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:18:10,332 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:18:10,333 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:18:10,334 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:18:10,335 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound2.c [2022-04-28 07:18:10,374 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d91480ccc/7061c6d3b2ad4abf9bced84532f446dc/FLAG6b354dc95 [2022-04-28 07:18:10,676 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:18:10,676 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prod4br-ll_unwindbound2.c [2022-04-28 07:18:10,680 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d91480ccc/7061c6d3b2ad4abf9bced84532f446dc/FLAG6b354dc95 [2022-04-28 07:18:11,119 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d91480ccc/7061c6d3b2ad4abf9bced84532f446dc [2022-04-28 07:18:11,121 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:18:11,122 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:18:11,124 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:18:11,124 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:18:11,126 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:18:11,126 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,127 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@71d9dfc1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11, skipping insertion in model container [2022-04-28 07:18:11,127 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,131 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:18:11,141 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:18:11,260 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/prod4br-ll_unwindbound2.c[524,537] [2022-04-28 07:18:11,273 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:18:11,279 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:18:11,287 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/prod4br-ll_unwindbound2.c[524,537] [2022-04-28 07:18:11,294 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:18:11,306 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:18:11,306 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11 WrapperNode [2022-04-28 07:18:11,306 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:18:11,307 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:18:11,307 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:18:11,307 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:18:11,313 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,313 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,329 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,329 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,334 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,337 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,337 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,339 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:18:11,345 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:18:11,345 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:18:11,345 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:18:11,345 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (1/1) ... [2022-04-28 07:18:11,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:18:11,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:18:11,365 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 07:18:11,366 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:18:11,387 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:18:11,388 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:18:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:18:11,438 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:18:11,439 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:18:11,651 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:18:11,656 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:18:11,656 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:18:11,657 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:18:11 BoogieIcfgContainer [2022-04-28 07:18:11,657 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:18:11,658 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:18:11,658 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:18:11,669 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:18:11,669 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:18:11" (1/3) ... [2022-04-28 07:18:11,669 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@724e7e12 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:18:11, skipping insertion in model container [2022-04-28 07:18:11,670 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:18:11" (2/3) ... [2022-04-28 07:18:11,670 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@724e7e12 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:18:11, skipping insertion in model container [2022-04-28 07:18:11,670 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:18:11" (3/3) ... [2022-04-28 07:18:11,671 INFO L111 eAbstractionObserver]: Analyzing ICFG prod4br-ll_unwindbound2.c [2022-04-28 07:18:11,681 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:18:11,681 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:18:11,724 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:18:11,733 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@cea7706, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2f7d2fd3 [2022-04-28 07:18:11,733 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:18:11,740 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:18:11,744 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 07:18:11,745 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:18:11,745 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:18:11,745 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:18:11,749 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:18:11,749 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 1 times [2022-04-28 07:18:11,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:11,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2115390145] [2022-04-28 07:18:11,764 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:18:11,764 INFO L85 PathProgramCache]: Analyzing trace with hash 1717894843, now seen corresponding path program 2 times [2022-04-28 07:18:11,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:18:11,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2083207488] [2022-04-28 07:18:11,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:18:11,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:18:11,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:11,897 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:18:11,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:11,917 INFO L290 TraceCheckUtils]: 0: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {35#true} is VALID [2022-04-28 07:18:11,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:18:11,918 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-28 07:18:11,918 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:18:11,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:11,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:18:11,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:18:11,931 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:18:11,931 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-28 07:18:11,932 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {44#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:18:11,932 INFO L290 TraceCheckUtils]: 1: Hoare triple {44#(and (= ~counter~0 |old(~counter~0)|) (= |#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);~counter~0 := 0; {35#true} is VALID [2022-04-28 07:18:11,932 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-28 07:18:11,933 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #77#return; {35#true} is VALID [2022-04-28 07:18:11,933 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret7 := main(); {35#true} is VALID [2022-04-28 07:18:11,933 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35#true} is VALID [2022-04-28 07:18:11,933 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-28 07:18:11,934 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-28 07:18:11,935 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-28 07:18:11,935 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-28 07:18:11,935 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #69#return; {36#false} is VALID [2022-04-28 07:18:11,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {36#false} is VALID [2022-04-28 07:18:11,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {36#false} assume !true; {36#false} is VALID [2022-04-28 07:18:11,936 INFO L272 TraceCheckUtils]: 13: Hoare triple {36#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {36#false} is VALID [2022-04-28 07:18:11,936 INFO L290 TraceCheckUtils]: 14: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-28 07:18:11,937 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-28 07:18:11,937 INFO L290 TraceCheckUtils]: 16: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-28 07:18:11,937 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:18:11,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:18:11,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2083207488] [2022-04-28 07:18:11,938 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2083207488] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:11,939 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:11,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:18:11,941 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:18:11,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2115390145] [2022-04-28 07:18:11,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2115390145] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:11,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:11,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:18:11,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1224370274] [2022-04-28 07:18:11,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:18:11,946 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 07:18:11,947 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:18:11,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:11,972 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:11,972 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:18:11,973 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:11,989 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:18:11,990 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:18:11,993 INFO L87 Difference]: Start difference. First operand has 32 states, 20 states have (on average 1.45) internal successors, (29), 21 states have internal predecessors, (29), 6 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:12,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,139 INFO L93 Difference]: Finished difference Result 56 states and 77 transitions. [2022-04-28 07:18:12,139 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:18:12,140 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-28 07:18:12,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:18:12,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:12,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:18:12,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:12,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-28 07:18:12,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-28 07:18:12,217 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-28 07:18:12,223 INFO L225 Difference]: With dead ends: 56 [2022-04-28 07:18:12,223 INFO L226 Difference]: Without dead ends: 28 [2022-04-28 07:18:12,225 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:18:12,227 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:18:12,228 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:18:12,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-28 07:18:12,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-28 07:18:12,247 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:18:12,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,248 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,248 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,251 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-28 07:18:12,251 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-28 07:18:12,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:12,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:12,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-28 07:18:12,252 INFO L87 Difference]: Start difference. First operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 28 states. [2022-04-28 07:18:12,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,255 INFO L93 Difference]: Finished difference Result 28 states and 34 transitions. [2022-04-28 07:18:12,255 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 34 transitions. [2022-04-28 07:18:12,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:12,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:12,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:18:12,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:18:12,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 17 states have (on average 1.3529411764705883) internal successors, (23), 18 states have internal predecessors, (23), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 33 transitions. [2022-04-28 07:18:12,258 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 33 transitions. Word has length 17 [2022-04-28 07:18:12,258 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:18:12,258 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 33 transitions. [2022-04-28 07:18:12,258 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:12,259 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 33 transitions. [2022-04-28 07:18:12,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:12,290 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 33 transitions. [2022-04-28 07:18:12,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 07:18:12,290 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:18:12,290 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:18:12,290 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:18:12,291 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:18:12,291 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:18:12,291 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 1 times [2022-04-28 07:18:12,291 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:12,291 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [357108135] [2022-04-28 07:18:12,292 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:18:12,292 INFO L85 PathProgramCache]: Analyzing trace with hash 444281082, now seen corresponding path program 2 times [2022-04-28 07:18:12,292 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:18:12,292 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1555056093] [2022-04-28 07:18:12,292 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:18:12,292 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:18:12,311 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:18:12,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1832147326] [2022-04-28 07:18:12,312 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:18:12,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:18:12,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:18:12,314 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:18:12,316 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 07:18:12,362 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:18:12,363 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:18:12,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 07:18:12,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:12,377 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:18:12,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {269#true} call ULTIMATE.init(); {269#true} is VALID [2022-04-28 07:18:12,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {269#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);~counter~0 := 0; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,508 INFO L290 TraceCheckUtils]: 2: Hoare triple {277#(<= ~counter~0 0)} assume true; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {277#(<= ~counter~0 0)} {269#true} #77#return; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {277#(<= ~counter~0 0)} call #t~ret7 := main(); {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {277#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,511 INFO L272 TraceCheckUtils]: 6: Hoare triple {277#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {277#(<= ~counter~0 0)} ~cond := #in~cond; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {277#(<= ~counter~0 0)} assume !(0 == ~cond); {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {277#(<= ~counter~0 0)} assume true; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {277#(<= ~counter~0 0)} {277#(<= ~counter~0 0)} #69#return; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,513 INFO L290 TraceCheckUtils]: 11: Hoare triple {277#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {277#(<= ~counter~0 0)} is VALID [2022-04-28 07:18:12,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {277#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {311#(<= |main_#t~post6| 0)} is VALID [2022-04-28 07:18:12,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {311#(<= |main_#t~post6| 0)} assume !(#t~post6 < 2);havoc #t~post6; {270#false} is VALID [2022-04-28 07:18:12,514 INFO L272 TraceCheckUtils]: 14: Hoare triple {270#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {270#false} is VALID [2022-04-28 07:18:12,514 INFO L290 TraceCheckUtils]: 15: Hoare triple {270#false} ~cond := #in~cond; {270#false} is VALID [2022-04-28 07:18:12,514 INFO L290 TraceCheckUtils]: 16: Hoare triple {270#false} assume 0 == ~cond; {270#false} is VALID [2022-04-28 07:18:12,514 INFO L290 TraceCheckUtils]: 17: Hoare triple {270#false} assume !false; {270#false} is VALID [2022-04-28 07:18:12,515 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:18:12,515 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:18:12,515 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:18:12,515 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1555056093] [2022-04-28 07:18:12,515 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:18:12,516 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1832147326] [2022-04-28 07:18:12,516 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1832147326] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:12,518 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:12,518 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:18:12,518 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:18:12,518 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [357108135] [2022-04-28 07:18:12,519 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [357108135] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:12,519 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:12,519 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:18:12,519 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1727463257] [2022-04-28 07:18:12,519 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:18:12,519 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 07:18:12,520 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:18:12,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 07:18:12,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:12,534 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 07:18:12,534 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:12,535 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 07:18:12,535 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 07:18:12,536 INFO L87 Difference]: Start difference. First operand 27 states and 33 transitions. Second operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 07:18:12,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,597 INFO L93 Difference]: Finished difference Result 37 states and 44 transitions. [2022-04-28 07:18:12,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 07:18:12,598 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 18 [2022-04-28 07:18:12,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:18:12,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 07:18:12,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-28 07:18:12,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 07:18:12,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 44 transitions. [2022-04-28 07:18:12,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 44 transitions. [2022-04-28 07:18:12,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:12,632 INFO L225 Difference]: With dead ends: 37 [2022-04-28 07:18:12,632 INFO L226 Difference]: Without dead ends: 29 [2022-04-28 07:18:12,633 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 07:18:12,633 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 0 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 81 SdHoareTripleChecker+Invalid, 7 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:18:12,634 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 81 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:18:12,634 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-28 07:18:12,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-28 07:18:12,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:18:12,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,644 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,644 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,645 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,645 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-28 07:18:12,645 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 07:18:12,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:12,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:12,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-28 07:18:12,646 INFO L87 Difference]: Start difference. First operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 29 states. [2022-04-28 07:18:12,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:12,648 INFO L93 Difference]: Finished difference Result 29 states and 35 transitions. [2022-04-28 07:18:12,648 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 07:18:12,648 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:12,648 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:12,648 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:18:12,648 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:18:12,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 19 states have (on average 1.3157894736842106) internal successors, (25), 20 states have internal predecessors, (25), 6 states have call successors, (6), 4 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:18:12,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 35 transitions. [2022-04-28 07:18:12,650 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 35 transitions. Word has length 18 [2022-04-28 07:18:12,650 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:18:12,650 INFO L495 AbstractCegarLoop]: Abstraction has 29 states and 35 transitions. [2022-04-28 07:18:12,650 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.0) internal successors, (12), 3 states have internal predecessors, (12), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-28 07:18:12,650 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 35 transitions. [2022-04-28 07:18:12,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:12,678 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 35 transitions. [2022-04-28 07:18:12,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 07:18:12,678 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:18:12,678 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:18:12,697 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 07:18:12,894 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:18:12,895 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:18:12,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:18:12,895 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 1 times [2022-04-28 07:18:12,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:12,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [219173663] [2022-04-28 07:18:12,896 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:18:12,896 INFO L85 PathProgramCache]: Analyzing trace with hash 446068542, now seen corresponding path program 2 times [2022-04-28 07:18:12,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:18:12,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1806769897] [2022-04-28 07:18:12,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:18:12,896 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:18:12,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:18:12,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1374647987] [2022-04-28 07:18:12,910 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:18:12,910 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:18:12,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:18:12,916 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:18:12,917 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 07:18:12,954 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:18:12,955 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:18:12,955 INFO L263 TraceCheckSpWp]: Trace formula consists of 86 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 07:18:12,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:12,966 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:18:13,101 INFO L272 TraceCheckUtils]: 0: Hoare triple {516#true} call ULTIMATE.init(); {516#true} is VALID [2022-04-28 07:18:13,101 INFO L290 TraceCheckUtils]: 1: Hoare triple {516#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);~counter~0 := 0; {516#true} is VALID [2022-04-28 07:18:13,101 INFO L290 TraceCheckUtils]: 2: Hoare triple {516#true} assume true; {516#true} is VALID [2022-04-28 07:18:13,101 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {516#true} {516#true} #77#return; {516#true} is VALID [2022-04-28 07:18:13,101 INFO L272 TraceCheckUtils]: 4: Hoare triple {516#true} call #t~ret7 := main(); {516#true} is VALID [2022-04-28 07:18:13,102 INFO L290 TraceCheckUtils]: 5: Hoare triple {516#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {516#true} is VALID [2022-04-28 07:18:13,102 INFO L272 TraceCheckUtils]: 6: Hoare triple {516#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {516#true} is VALID [2022-04-28 07:18:13,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {516#true} ~cond := #in~cond; {516#true} is VALID [2022-04-28 07:18:13,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {516#true} assume !(0 == ~cond); {516#true} is VALID [2022-04-28 07:18:13,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {516#true} assume true; {516#true} is VALID [2022-04-28 07:18:13,105 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {516#true} {516#true} #69#return; {516#true} is VALID [2022-04-28 07:18:13,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {516#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:18:13,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:18:13,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 2);havoc #t~post6; {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:18:13,108 INFO L272 TraceCheckUtils]: 14: Hoare triple {554#(and (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:18:13,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:18:13,110 INFO L290 TraceCheckUtils]: 16: Hoare triple {568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {517#false} is VALID [2022-04-28 07:18:13,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {517#false} assume !false; {517#false} is VALID [2022-04-28 07:18:13,111 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:18:13,111 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:18:13,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:18:13,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1806769897] [2022-04-28 07:18:13,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:18:13,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1374647987] [2022-04-28 07:18:13,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1374647987] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:13,111 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:13,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:18:13,112 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:18:13,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [219173663] [2022-04-28 07:18:13,112 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [219173663] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:13,112 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:13,112 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:18:13,112 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1920177095] [2022-04-28 07:18:13,112 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:18:13,113 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 07:18:13,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:18:13,113 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:13,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:13,131 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:18:13,131 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:13,131 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:18:13,131 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:18:13,132 INFO L87 Difference]: Start difference. First operand 29 states and 35 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:13,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:13,298 INFO L93 Difference]: Finished difference Result 42 states and 53 transitions. [2022-04-28 07:18:13,298 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:18:13,298 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 18 [2022-04-28 07:18:13,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:18:13,298 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:13,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 07:18:13,300 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, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:13,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 07:18:13,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 07:18:13,346 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-28 07:18:13,347 INFO L225 Difference]: With dead ends: 42 [2022-04-28 07:18:13,347 INFO L226 Difference]: Without dead ends: 40 [2022-04-28 07:18:13,347 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:18:13,348 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 9 mSDsluCounter, 59 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:18:13,348 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 83 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:18:13,349 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2022-04-28 07:18:13,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 34. [2022-04-28 07:18:13,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:18:13,361 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:18:13,362 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:18:13,362 INFO L87 Difference]: Start difference. First operand 40 states. Second operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:18:13,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:13,364 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-28 07:18:13,364 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-28 07:18:13,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:13,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:13,364 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-28 07:18:13,365 INFO L87 Difference]: Start difference. First operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 40 states. [2022-04-28 07:18:13,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:18:13,366 INFO L93 Difference]: Finished difference Result 40 states and 51 transitions. [2022-04-28 07:18:13,366 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 51 transitions. [2022-04-28 07:18:13,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:18:13,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:18:13,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:18:13,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:18:13,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 22 states have (on average 1.2727272727272727) internal successors, (28), 24 states have internal predecessors, (28), 7 states have call successors, (7), 5 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:18:13,368 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 40 transitions. [2022-04-28 07:18:13,369 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 40 transitions. Word has length 18 [2022-04-28 07:18:13,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:18:13,369 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 40 transitions. [2022-04-28 07:18:13,369 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (4), 2 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-28 07:18:13,369 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 34 states and 40 transitions. [2022-04-28 07:18:13,402 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-28 07:18:13,403 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 40 transitions. [2022-04-28 07:18:13,403 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 07:18:13,403 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:18:13,403 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:18:13,425 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 07:18:13,619 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 07:18:13,620 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:18:13,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:18:13,620 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 1 times [2022-04-28 07:18:13,620 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:13,620 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [848368708] [2022-04-28 07:18:13,621 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:18:13,621 INFO L85 PathProgramCache]: Analyzing trace with hash -1308579644, now seen corresponding path program 2 times [2022-04-28 07:18:13,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:18:13,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1589501701] [2022-04-28 07:18:13,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:18:13,621 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:18:13,635 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:18:13,635 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [651860574] [2022-04-28 07:18:13,635 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:18:13,635 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:18:13,636 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:18:13,643 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:18:13,645 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 07:18:13,681 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:18:13,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:18:13,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 07:18:13,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:18:13,695 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:18:24,245 INFO L272 TraceCheckUtils]: 0: Hoare triple {808#true} call ULTIMATE.init(); {808#true} is VALID [2022-04-28 07:18:24,245 INFO L290 TraceCheckUtils]: 1: Hoare triple {808#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);~counter~0 := 0; {808#true} is VALID [2022-04-28 07:18:24,245 INFO L290 TraceCheckUtils]: 2: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-28 07:18:24,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {808#true} {808#true} #77#return; {808#true} is VALID [2022-04-28 07:18:24,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {808#true} call #t~ret7 := main(); {808#true} is VALID [2022-04-28 07:18:24,246 INFO L290 TraceCheckUtils]: 5: Hoare triple {808#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {808#true} is VALID [2022-04-28 07:18:24,246 INFO L272 TraceCheckUtils]: 6: Hoare triple {808#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {808#true} is VALID [2022-04-28 07:18:24,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {808#true} ~cond := #in~cond; {834#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:18:24,247 INFO L290 TraceCheckUtils]: 8: Hoare triple {834#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {838#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:18:24,247 INFO L290 TraceCheckUtils]: 9: Hoare triple {838#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {838#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:18:24,248 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {838#(not (= |assume_abort_if_not_#in~cond| 0))} {808#true} #69#return; {845#(<= 1 main_~y~0)} is VALID [2022-04-28 07:18:24,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {845#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:18:24,248 INFO L290 TraceCheckUtils]: 12: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:18:24,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 2);havoc #t~post6; {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:18:24,249 INFO L272 TraceCheckUtils]: 14: Hoare triple {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {808#true} is VALID [2022-04-28 07:18:24,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {808#true} ~cond := #in~cond; {862#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:18:24,250 INFO L290 TraceCheckUtils]: 16: Hoare triple {862#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:18:24,250 INFO L290 TraceCheckUtils]: 17: Hoare triple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:18:26,253 WARN L284 TraceCheckUtils]: 18: Hoare quadruple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} {849#(and (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} #71#return; {873#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 07:18:26,254 INFO L290 TraceCheckUtils]: 19: Hoare triple {873#(and (or (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (not (= main_~a~0 0))) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (<= main_~y~0 main_~b~0) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {877#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:18:26,255 INFO L272 TraceCheckUtils]: 20: Hoare triple {877#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:18:26,255 INFO L290 TraceCheckUtils]: 21: Hoare triple {881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:18:26,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {809#false} is VALID [2022-04-28 07:18:26,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#false} assume !false; {809#false} is VALID [2022-04-28 07:18:26,256 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:18:26,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:18:56,331 INFO L290 TraceCheckUtils]: 23: Hoare triple {809#false} assume !false; {809#false} is VALID [2022-04-28 07:18:56,332 INFO L290 TraceCheckUtils]: 22: Hoare triple {885#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {809#false} is VALID [2022-04-28 07:18:56,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {881#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {885#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:18:56,333 INFO L272 TraceCheckUtils]: 20: Hoare triple {901#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {881#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:18:56,333 INFO L290 TraceCheckUtils]: 19: Hoare triple {905#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {901#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:18:56,335 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} {808#true} #71#return; {905#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 07:18:56,335 INFO L290 TraceCheckUtils]: 17: Hoare triple {866#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:18:56,336 INFO L290 TraceCheckUtils]: 16: Hoare triple {918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {866#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:18:56,336 INFO L290 TraceCheckUtils]: 15: Hoare triple {808#true} ~cond := #in~cond; {918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:18:56,336 INFO L272 TraceCheckUtils]: 14: Hoare triple {808#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {808#true} is VALID [2022-04-28 07:18:56,336 INFO L290 TraceCheckUtils]: 13: Hoare triple {808#true} assume !!(#t~post6 < 2);havoc #t~post6; {808#true} is VALID [2022-04-28 07:18:56,336 INFO L290 TraceCheckUtils]: 12: Hoare triple {808#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 11: Hoare triple {808#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {808#true} {808#true} #69#return; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 9: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 8: Hoare triple {808#true} assume !(0 == ~cond); {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {808#true} ~cond := #in~cond; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L272 TraceCheckUtils]: 6: Hoare triple {808#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {808#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {808#true} call #t~ret7 := main(); {808#true} is VALID [2022-04-28 07:18:56,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {808#true} {808#true} #77#return; {808#true} is VALID [2022-04-28 07:18:56,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {808#true} assume true; {808#true} is VALID [2022-04-28 07:18:56,338 INFO L290 TraceCheckUtils]: 1: Hoare triple {808#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);~counter~0 := 0; {808#true} is VALID [2022-04-28 07:18:56,338 INFO L272 TraceCheckUtils]: 0: Hoare triple {808#true} call ULTIMATE.init(); {808#true} is VALID [2022-04-28 07:18:56,338 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:18:56,338 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:18:56,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1589501701] [2022-04-28 07:18:56,338 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:18:56,338 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [651860574] [2022-04-28 07:18:56,338 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [651860574] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:18:56,338 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:18:56,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 07:18:56,339 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:18:56,339 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [848368708] [2022-04-28 07:18:56,339 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [848368708] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:18:56,339 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:18:56,339 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:18:56,339 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1022858194] [2022-04-28 07:18:56,339 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:18:56,340 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-28 07:18:56,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:18:56,340 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:18:58,361 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 23 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:18:58,362 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:18:58,362 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:18:58,362 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:18:58,362 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=171, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:18:58,362 INFO L87 Difference]: Start difference. First operand 34 states and 40 transitions. Second operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:19:03,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:03,962 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-28 07:19:03,962 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:19:03,963 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) Word has length 24 [2022-04-28 07:19:03,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:19:03,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:19:03,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 60 transitions. [2022-04-28 07:19:03,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:19:03,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 60 transitions. [2022-04-28 07:19:03,966 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 60 transitions. [2022-04-28 07:19:06,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 59 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:19:06,016 INFO L225 Difference]: With dead ends: 50 [2022-04-28 07:19:06,016 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 07:19:06,017 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=64, Invalid=278, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:19:06,017 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 204 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 221 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 204 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.9s IncrementalHoareTripleChecker+Time [2022-04-28 07:19:06,018 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 130 Invalid, 221 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 204 Invalid, 0 Unknown, 0 Unchecked, 2.9s Time] [2022-04-28 07:19:06,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 07:19:06,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 45. [2022-04-28 07:19:06,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:19:06,056 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:19:06,057 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:19:06,057 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:19:06,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:06,058 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 07:19:06,059 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 07:19:06,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:19:06,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:19:06,059 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 07:19:06,059 INFO L87 Difference]: Start difference. First operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) Second operand 48 states. [2022-04-28 07:19:06,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:06,064 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-28 07:19:06,064 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-28 07:19:06,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:19:06,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:19:06,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:19:06,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:19:06,066 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 30 states have (on average 1.3333333333333333) internal successors, (40), 33 states have internal predecessors, (40), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 5 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:19:06,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 56 transitions. [2022-04-28 07:19:06,068 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 56 transitions. Word has length 24 [2022-04-28 07:19:06,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:19:06,070 INFO L495 AbstractCegarLoop]: Abstraction has 45 states and 56 transitions. [2022-04-28 07:19:06,070 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 1.4545454545454546) internal successors, (16), 9 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:19:06,070 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 45 states and 56 transitions. [2022-04-28 07:19:08,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 55 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:19:08,124 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-28 07:19:08,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 07:19:08,125 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:19:08,125 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:19:08,141 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-28 07:19:08,325 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:19:08,326 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:19:08,326 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:19:08,326 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 1 times [2022-04-28 07:19:08,326 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:19:08,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [71534893] [2022-04-28 07:19:14,416 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:19:14,417 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:19:14,417 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:19:14,417 INFO L85 PathProgramCache]: Analyzing trace with hash 1797927234, now seen corresponding path program 2 times [2022-04-28 07:19:14,417 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:19:14,417 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1445943708] [2022-04-28 07:19:14,417 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:19:14,417 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:19:14,427 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:19:14,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2113167977] [2022-04-28 07:19:14,428 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:19:14,428 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:19:14,428 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:19:14,429 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:19:14,430 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 07:19:14,462 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:19:14,462 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:19:14,463 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:19:14,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:19:14,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:19:14,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {1260#true} call ULTIMATE.init(); {1260#true} is VALID [2022-04-28 07:19:14,593 INFO L290 TraceCheckUtils]: 1: Hoare triple {1260#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);~counter~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,593 INFO L290 TraceCheckUtils]: 2: Hoare triple {1268#(<= ~counter~0 0)} assume true; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1268#(<= ~counter~0 0)} {1260#true} #77#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {1268#(<= ~counter~0 0)} call #t~ret7 := main(); {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {1268#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {1268#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {1268#(<= ~counter~0 0)} ~cond := #in~cond; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {1268#(<= ~counter~0 0)} assume !(0 == ~cond); {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,596 INFO L290 TraceCheckUtils]: 9: Hoare triple {1268#(<= ~counter~0 0)} assume true; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,597 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1268#(<= ~counter~0 0)} {1268#(<= ~counter~0 0)} #69#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,597 INFO L290 TraceCheckUtils]: 11: Hoare triple {1268#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,598 INFO L290 TraceCheckUtils]: 12: Hoare triple {1268#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {1302#(<= ~counter~0 1)} assume !!(#t~post6 < 2);havoc #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,599 INFO L272 TraceCheckUtils]: 14: Hoare triple {1302#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,609 INFO L290 TraceCheckUtils]: 15: Hoare triple {1302#(<= ~counter~0 1)} ~cond := #in~cond; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,609 INFO L290 TraceCheckUtils]: 16: Hoare triple {1302#(<= ~counter~0 1)} assume !(0 == ~cond); {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {1302#(<= ~counter~0 1)} assume true; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,610 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1302#(<= ~counter~0 1)} {1302#(<= ~counter~0 1)} #71#return; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {1302#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {1302#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {1302#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1330#(<= |main_#t~post6| 1)} is VALID [2022-04-28 07:19:14,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {1330#(<= |main_#t~post6| 1)} assume !(#t~post6 < 2);havoc #t~post6; {1261#false} is VALID [2022-04-28 07:19:14,612 INFO L272 TraceCheckUtils]: 23: Hoare triple {1261#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1261#false} is VALID [2022-04-28 07:19:14,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {1261#false} ~cond := #in~cond; {1261#false} is VALID [2022-04-28 07:19:14,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {1261#false} assume 0 == ~cond; {1261#false} is VALID [2022-04-28 07:19:14,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {1261#false} assume !false; {1261#false} is VALID [2022-04-28 07:19:14,612 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:19:14,612 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:19:14,744 INFO L290 TraceCheckUtils]: 26: Hoare triple {1261#false} assume !false; {1261#false} is VALID [2022-04-28 07:19:14,745 INFO L290 TraceCheckUtils]: 25: Hoare triple {1261#false} assume 0 == ~cond; {1261#false} is VALID [2022-04-28 07:19:14,745 INFO L290 TraceCheckUtils]: 24: Hoare triple {1261#false} ~cond := #in~cond; {1261#false} is VALID [2022-04-28 07:19:14,745 INFO L272 TraceCheckUtils]: 23: Hoare triple {1261#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {1261#false} is VALID [2022-04-28 07:19:14,745 INFO L290 TraceCheckUtils]: 22: Hoare triple {1330#(<= |main_#t~post6| 1)} assume !(#t~post6 < 2);havoc #t~post6; {1261#false} is VALID [2022-04-28 07:19:14,745 INFO L290 TraceCheckUtils]: 21: Hoare triple {1302#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1330#(<= |main_#t~post6| 1)} is VALID [2022-04-28 07:19:14,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {1302#(<= ~counter~0 1)} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,746 INFO L290 TraceCheckUtils]: 19: Hoare triple {1302#(<= ~counter~0 1)} assume !!(0 != ~a~0 && 0 != ~b~0); {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,747 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1260#true} {1302#(<= ~counter~0 1)} #71#return; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,747 INFO L290 TraceCheckUtils]: 17: Hoare triple {1260#true} assume true; {1260#true} is VALID [2022-04-28 07:19:14,747 INFO L290 TraceCheckUtils]: 16: Hoare triple {1260#true} assume !(0 == ~cond); {1260#true} is VALID [2022-04-28 07:19:14,747 INFO L290 TraceCheckUtils]: 15: Hoare triple {1260#true} ~cond := #in~cond; {1260#true} is VALID [2022-04-28 07:19:14,747 INFO L272 TraceCheckUtils]: 14: Hoare triple {1302#(<= ~counter~0 1)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1260#true} is VALID [2022-04-28 07:19:14,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {1302#(<= ~counter~0 1)} assume !!(#t~post6 < 2);havoc #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,748 INFO L290 TraceCheckUtils]: 12: Hoare triple {1268#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1302#(<= ~counter~0 1)} is VALID [2022-04-28 07:19:14,748 INFO L290 TraceCheckUtils]: 11: Hoare triple {1268#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,749 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1260#true} {1268#(<= ~counter~0 0)} #69#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,749 INFO L290 TraceCheckUtils]: 9: Hoare triple {1260#true} assume true; {1260#true} is VALID [2022-04-28 07:19:14,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {1260#true} assume !(0 == ~cond); {1260#true} is VALID [2022-04-28 07:19:14,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {1260#true} ~cond := #in~cond; {1260#true} is VALID [2022-04-28 07:19:14,749 INFO L272 TraceCheckUtils]: 6: Hoare triple {1268#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1260#true} is VALID [2022-04-28 07:19:14,749 INFO L290 TraceCheckUtils]: 5: Hoare triple {1268#(<= ~counter~0 0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,750 INFO L272 TraceCheckUtils]: 4: Hoare triple {1268#(<= ~counter~0 0)} call #t~ret7 := main(); {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,750 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1268#(<= ~counter~0 0)} {1260#true} #77#return; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {1268#(<= ~counter~0 0)} assume true; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {1260#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);~counter~0 := 0; {1268#(<= ~counter~0 0)} is VALID [2022-04-28 07:19:14,751 INFO L272 TraceCheckUtils]: 0: Hoare triple {1260#true} call ULTIMATE.init(); {1260#true} is VALID [2022-04-28 07:19:14,751 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:19:14,751 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:19:14,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1445943708] [2022-04-28 07:19:14,752 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:19:14,752 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2113167977] [2022-04-28 07:19:14,752 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2113167977] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:19:14,752 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:19:14,752 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 5 [2022-04-28 07:19:14,752 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:19:14,752 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [71534893] [2022-04-28 07:19:14,752 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [71534893] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:19:14,752 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:19:14,752 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:19:14,752 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [863751622] [2022-04-28 07:19:14,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:19:14,753 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-04-28 07:19:14,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:19:14,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:19:14,774 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:19:14,774 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:19:14,774 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:19:14,775 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:19:14,775 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:19:14,775 INFO L87 Difference]: Start difference. First operand 45 states and 56 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:19:14,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:14,914 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-28 07:19:14,915 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:19:14,915 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Word has length 27 [2022-04-28 07:19:14,915 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:19:14,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:19:14,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 07:19:14,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:19:14,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 64 transitions. [2022-04-28 07:19:14,917 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 64 transitions. [2022-04-28 07:19:14,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:19:14,960 INFO L225 Difference]: With dead ends: 73 [2022-04-28 07:19:14,960 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 07:19:14,961 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 49 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:19:14,961 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 17 mSDsluCounter, 73 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:19:14,962 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 108 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:19:14,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 07:19:15,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 61. [2022-04-28 07:19:15,015 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:19:15,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:19:15,016 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:19:15,016 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:19:15,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:15,019 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-04-28 07:19:15,019 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 07:19:15,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:19:15,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:19:15,019 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 63 states. [2022-04-28 07:19:15,019 INFO L87 Difference]: Start difference. First operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 63 states. [2022-04-28 07:19:15,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:19:15,021 INFO L93 Difference]: Finished difference Result 63 states and 77 transitions. [2022-04-28 07:19:15,021 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 07:19:15,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:19:15,021 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:19:15,021 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:19:15,021 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:19:15,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 43 states have (on average 1.3255813953488371) internal successors, (57), 45 states have internal predecessors, (57), 11 states have call successors, (11), 8 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:19:15,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 76 transitions. [2022-04-28 07:19:15,023 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 76 transitions. Word has length 27 [2022-04-28 07:19:15,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:19:15,023 INFO L495 AbstractCegarLoop]: Abstraction has 61 states and 76 transitions. [2022-04-28 07:19:15,023 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:19:15,024 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 61 states and 76 transitions. [2022-04-28 07:19:17,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 75 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:19:17,098 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 76 transitions. [2022-04-28 07:19:17,099 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-28 07:19:17,099 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:19:17,099 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:19:17,115 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 07:19:17,299 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:19:17,300 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:19:17,300 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:19:17,300 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 1 times [2022-04-28 07:19:17,300 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:19:17,300 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [215765753] [2022-04-28 07:19:22,554 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:19:22,554 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:19:22,554 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:19:22,554 INFO L85 PathProgramCache]: Analyzing trace with hash 1799714694, now seen corresponding path program 2 times [2022-04-28 07:19:22,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:19:22,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1184168824] [2022-04-28 07:19:22,554 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:19:22,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:19:22,564 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:19:22,564 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1356150444] [2022-04-28 07:19:22,564 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:19:22,564 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:19:22,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:19:22,565 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:19:22,566 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 07:19:22,601 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:19:22,601 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:19:22,601 INFO L263 TraceCheckSpWp]: Trace formula consists of 112 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:19:22,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:19:22,620 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:19:22,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {1822#true} call ULTIMATE.init(); {1822#true} is VALID [2022-04-28 07:19:22,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {1822#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);~counter~0 := 0; {1822#true} is VALID [2022-04-28 07:19:22,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1822#true} assume true; {1822#true} is VALID [2022-04-28 07:19:22,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1822#true} {1822#true} #77#return; {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {1822#true} call #t~ret7 := main(); {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {1822#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L272 TraceCheckUtils]: 6: Hoare triple {1822#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {1822#true} ~cond := #in~cond; {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {1822#true} assume !(0 == ~cond); {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {1822#true} assume true; {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1822#true} {1822#true} #69#return; {1822#true} is VALID [2022-04-28 07:19:22,983 INFO L290 TraceCheckUtils]: 11: Hoare triple {1822#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:19:22,984 INFO L290 TraceCheckUtils]: 12: Hoare triple {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:19:22,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 2);havoc #t~post6; {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:19:22,984 INFO L272 TraceCheckUtils]: 14: Hoare triple {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1822#true} is VALID [2022-04-28 07:19:22,985 INFO L290 TraceCheckUtils]: 15: Hoare triple {1822#true} ~cond := #in~cond; {1873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:19:22,985 INFO L290 TraceCheckUtils]: 16: Hoare triple {1873#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:19:22,985 INFO L290 TraceCheckUtils]: 17: Hoare triple {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:19:22,986 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} {1860#(and (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {1884#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:19:22,987 INFO L290 TraceCheckUtils]: 19: Hoare triple {1884#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~a~0 && 0 != ~b~0); {1884#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:19:22,988 INFO L290 TraceCheckUtils]: 20: Hoare triple {1884#(and (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:19:22,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:19:22,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 2);havoc #t~post6; {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:19:22,992 INFO L272 TraceCheckUtils]: 23: Hoare triple {1891#(and (= (+ main_~q~0 (* main_~y~0 main_~x~0 1)) (* main_~y~0 main_~x~0)) (= (div main_~y~0 2) main_~b~0) (= (mod main_~y~0 2) 0) (= main_~p~0 4) (= (div main_~x~0 2) main_~a~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:19:22,992 INFO L290 TraceCheckUtils]: 24: Hoare triple {1901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:19:22,992 INFO L290 TraceCheckUtils]: 25: Hoare triple {1905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1823#false} is VALID [2022-04-28 07:19:22,992 INFO L290 TraceCheckUtils]: 26: Hoare triple {1823#false} assume !false; {1823#false} is VALID [2022-04-28 07:19:22,993 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:19:22,993 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:20:19,551 INFO L290 TraceCheckUtils]: 26: Hoare triple {1823#false} assume !false; {1823#false} is VALID [2022-04-28 07:20:19,552 INFO L290 TraceCheckUtils]: 25: Hoare triple {1905#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1823#false} is VALID [2022-04-28 07:20:19,552 INFO L290 TraceCheckUtils]: 24: Hoare triple {1901#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1905#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:20:19,553 INFO L272 TraceCheckUtils]: 23: Hoare triple {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1901#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:20:19,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} assume !!(#t~post6 < 2);havoc #t~post6; {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:20:19,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:20:19,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {1931#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {1921#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:20:19,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {1931#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} assume !!(0 != ~a~0 && 0 != ~b~0); {1931#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 07:20:19,569 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} {1822#true} #71#return; {1931#(or (not (= (mod main_~b~0 2) 0)) (= (+ (* (div main_~b~0 2) (* main_~p~0 4) (div main_~a~0 2)) main_~q~0) (* main_~y~0 main_~x~0)) (not (= (mod main_~a~0 2) 0)))} is VALID [2022-04-28 07:20:19,570 INFO L290 TraceCheckUtils]: 17: Hoare triple {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:20:19,570 INFO L290 TraceCheckUtils]: 16: Hoare triple {1947#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1877#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:20:19,570 INFO L290 TraceCheckUtils]: 15: Hoare triple {1822#true} ~cond := #in~cond; {1947#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:20:19,570 INFO L272 TraceCheckUtils]: 14: Hoare triple {1822#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 13: Hoare triple {1822#true} assume !!(#t~post6 < 2);havoc #t~post6; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 12: Hoare triple {1822#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {1822#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1822#true} {1822#true} #69#return; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 9: Hoare triple {1822#true} assume true; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 8: Hoare triple {1822#true} assume !(0 == ~cond); {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 7: Hoare triple {1822#true} ~cond := #in~cond; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L272 TraceCheckUtils]: 6: Hoare triple {1822#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 5: Hoare triple {1822#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L272 TraceCheckUtils]: 4: Hoare triple {1822#true} call #t~ret7 := main(); {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1822#true} {1822#true} #77#return; {1822#true} is VALID [2022-04-28 07:20:19,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {1822#true} assume true; {1822#true} is VALID [2022-04-28 07:20:19,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {1822#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);~counter~0 := 0; {1822#true} is VALID [2022-04-28 07:20:19,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {1822#true} call ULTIMATE.init(); {1822#true} is VALID [2022-04-28 07:20:19,572 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 4 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:20:19,572 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:20:19,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1184168824] [2022-04-28 07:20:19,572 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:20:19,572 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1356150444] [2022-04-28 07:20:19,572 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1356150444] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:20:19,572 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:20:19,572 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-28 07:20:19,572 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:20:19,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [215765753] [2022-04-28 07:20:19,573 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [215765753] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:20:19,573 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:20:19,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:20:19,573 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [581583641] [2022-04-28 07:20:19,573 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:20:19,573 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-04-28 07:20:19,573 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:20:19,573 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:20:19,596 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:20:19,596 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:20:19,596 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:20:19,596 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:20:19,597 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=101, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:20:19,597 INFO L87 Difference]: Start difference. First operand 61 states and 76 transitions. Second operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:20:20,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:20,141 INFO L93 Difference]: Finished difference Result 76 states and 96 transitions. [2022-04-28 07:20:20,141 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:20:20,141 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 27 [2022-04-28 07:20:20,142 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:20:20,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:20:20,143 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-04-28 07:20:20,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:20:20,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 68 transitions. [2022-04-28 07:20:20,144 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 68 transitions. [2022-04-28 07:20:20,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:20:20,202 INFO L225 Difference]: With dead ends: 76 [2022-04-28 07:20:20,202 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 07:20:20,202 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 42 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=44, Invalid=138, Unknown=0, NotChecked=0, Total=182 [2022-04-28 07:20:20,202 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 25 mSDsluCounter, 83 mSDsCounter, 0 mSdLazyCounter, 168 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 174 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 168 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 07:20:20,205 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 108 Invalid, 174 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 168 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 07:20:20,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 07:20:20,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 68. [2022-04-28 07:20:20,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:20:20,263 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:20:20,263 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:20:20,263 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:20:20,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:20,265 INFO L93 Difference]: Finished difference Result 74 states and 94 transitions. [2022-04-28 07:20:20,265 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 94 transitions. [2022-04-28 07:20:20,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:20:20,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:20:20,266 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 07:20:20,266 INFO L87 Difference]: Start difference. First operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 74 states. [2022-04-28 07:20:20,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:20,267 INFO L93 Difference]: Finished difference Result 74 states and 94 transitions. [2022-04-28 07:20:20,268 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 94 transitions. [2022-04-28 07:20:20,268 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:20:20,268 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:20:20,268 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:20:20,268 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:20:20,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 48 states have (on average 1.2916666666666667) internal successors, (62), 51 states have internal predecessors, (62), 12 states have call successors, (12), 9 states have call predecessors, (12), 7 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:20:20,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 83 transitions. [2022-04-28 07:20:20,270 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 83 transitions. Word has length 27 [2022-04-28 07:20:20,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:20:20,270 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 83 transitions. [2022-04-28 07:20:20,270 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.111111111111111) internal successors, (19), 8 states have internal predecessors, (19), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:20:20,270 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 68 states and 83 transitions. [2022-04-28 07:20:22,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:20:22,370 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 83 transitions. [2022-04-28 07:20:22,371 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-04-28 07:20:22,371 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:20:22,371 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:20:22,387 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 07:20:22,577 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:20:22,577 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:20:22,578 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:20:22,578 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 1 times [2022-04-28 07:20:22,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:20:22,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1655827980] [2022-04-28 07:20:22,578 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:20:22,578 INFO L85 PathProgramCache]: Analyzing trace with hash -1613968938, now seen corresponding path program 2 times [2022-04-28 07:20:22,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:20:22,578 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [210115470] [2022-04-28 07:20:22,578 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:20:22,579 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:20:22,601 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:20:22,601 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1330635745] [2022-04-28 07:20:22,601 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:20:22,601 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:20:22,601 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:20:22,606 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:20:22,606 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 07:20:22,644 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:20:22,644 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:20:22,645 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:20:22,651 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:20:22,651 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:20:22,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {2435#true} call ULTIMATE.init(); {2435#true} is VALID [2022-04-28 07:20:22,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {2435#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);~counter~0 := 0; {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {2435#true} assume true; {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2435#true} {2435#true} #77#return; {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L272 TraceCheckUtils]: 4: Hoare triple {2435#true} call #t~ret7 := main(); {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L290 TraceCheckUtils]: 5: Hoare triple {2435#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L272 TraceCheckUtils]: 6: Hoare triple {2435#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2435#true} is VALID [2022-04-28 07:20:22,779 INFO L290 TraceCheckUtils]: 7: Hoare triple {2435#true} ~cond := #in~cond; {2461#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:20:22,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {2461#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2465#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:20:22,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {2465#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2465#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:20:22,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2465#(not (= |assume_abort_if_not_#in~cond| 0))} {2435#true} #69#return; {2472#(<= 1 main_~y~0)} is VALID [2022-04-28 07:20:22,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {2472#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {2476#(<= 1 main_~b~0)} is VALID [2022-04-28 07:20:22,781 INFO L290 TraceCheckUtils]: 12: Hoare triple {2476#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#(<= 1 main_~b~0)} is VALID [2022-04-28 07:20:22,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {2476#(<= 1 main_~b~0)} assume !!(#t~post6 < 2);havoc #t~post6; {2476#(<= 1 main_~b~0)} is VALID [2022-04-28 07:20:22,781 INFO L272 TraceCheckUtils]: 14: Hoare triple {2476#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {2435#true} is VALID [2022-04-28 07:20:22,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {2435#true} ~cond := #in~cond; {2435#true} is VALID [2022-04-28 07:20:22,781 INFO L290 TraceCheckUtils]: 16: Hoare triple {2435#true} assume !(0 == ~cond); {2435#true} is VALID [2022-04-28 07:20:22,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {2435#true} assume true; {2435#true} is VALID [2022-04-28 07:20:22,782 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2435#true} {2476#(<= 1 main_~b~0)} #71#return; {2476#(<= 1 main_~b~0)} is VALID [2022-04-28 07:20:22,783 INFO L290 TraceCheckUtils]: 19: Hoare triple {2476#(<= 1 main_~b~0)} assume !(0 != ~a~0 && 0 != ~b~0); {2501#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:20:22,783 INFO L272 TraceCheckUtils]: 20: Hoare triple {2501#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {2435#true} is VALID [2022-04-28 07:20:22,783 INFO L290 TraceCheckUtils]: 21: Hoare triple {2435#true} ~cond := #in~cond; {2435#true} is VALID [2022-04-28 07:20:22,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {2435#true} assume !(0 == ~cond); {2435#true} is VALID [2022-04-28 07:20:22,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {2435#true} assume true; {2435#true} is VALID [2022-04-28 07:20:22,783 INFO L284 TraceCheckUtils]: 24: Hoare quadruple {2435#true} {2501#(and (= main_~a~0 0) (<= 1 main_~b~0))} #73#return; {2501#(and (= main_~a~0 0) (<= 1 main_~b~0))} is VALID [2022-04-28 07:20:22,784 INFO L272 TraceCheckUtils]: 25: Hoare triple {2501#(and (= main_~a~0 0) (<= 1 main_~b~0))} call __VERIFIER_assert((if 0 == ~a~0 * ~b~0 then 1 else 0)); {2520#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:20:22,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {2520#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2524#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:20:22,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {2524#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2436#false} is VALID [2022-04-28 07:20:22,784 INFO L290 TraceCheckUtils]: 28: Hoare triple {2436#false} assume !false; {2436#false} is VALID [2022-04-28 07:20:22,785 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:20:22,785 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:20:22,785 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:20:22,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [210115470] [2022-04-28 07:20:22,785 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:20:22,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1330635745] [2022-04-28 07:20:22,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1330635745] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:20:22,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:20:22,785 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:20:22,786 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:20:22,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1655827980] [2022-04-28 07:20:22,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1655827980] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:20:22,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:20:22,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 07:20:22,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [973497959] [2022-04-28 07:20:22,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:20:22,787 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-28 07:20:22,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:20:22,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:20:22,803 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:20:22,803 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 07:20:22,803 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:20:22,803 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 07:20:22,803 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2022-04-28 07:20:22,803 INFO L87 Difference]: Start difference. First operand 68 states and 83 transitions. Second operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:20:23,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:23,152 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-28 07:20:23,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 07:20:23,152 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 29 [2022-04-28 07:20:23,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:20:23,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:20:23,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-28 07:20:23,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:20:23,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 57 transitions. [2022-04-28 07:20:23,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 57 transitions. [2022-04-28 07:20:23,201 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-28 07:20:23,203 INFO L225 Difference]: With dead ends: 85 [2022-04-28 07:20:23,203 INFO L226 Difference]: Without dead ends: 65 [2022-04-28 07:20:23,203 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=34, Invalid=122, Unknown=0, NotChecked=0, Total=156 [2022-04-28 07:20:23,204 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 33 mSDsluCounter, 131 mSDsCounter, 0 mSdLazyCounter, 122 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 157 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 122 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:20:23,204 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 157 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 122 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:20:23,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-04-28 07:20:23,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 62. [2022-04-28 07:20:23,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:20:23,264 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:20:23,264 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:20:23,265 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:20:23,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:23,266 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-04-28 07:20:23,266 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 85 transitions. [2022-04-28 07:20:23,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:20:23,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:20:23,267 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:20:23,267 INFO L87 Difference]: Start difference. First operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 65 states. [2022-04-28 07:20:23,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:20:23,269 INFO L93 Difference]: Finished difference Result 65 states and 85 transitions. [2022-04-28 07:20:23,269 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 85 transitions. [2022-04-28 07:20:23,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:20:23,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:20:23,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:20:23,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:20:23,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 45 states have (on average 1.3555555555555556) internal successors, (61), 48 states have internal predecessors, (61), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:20:23,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 80 transitions. [2022-04-28 07:20:23,271 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 80 transitions. Word has length 29 [2022-04-28 07:20:23,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:20:23,271 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 80 transitions. [2022-04-28 07:20:23,271 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.0) internal successors, (16), 7 states have internal predecessors, (16), 3 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:20:23,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 62 states and 80 transitions. [2022-04-28 07:20:25,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 79 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:20:25,353 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 80 transitions. [2022-04-28 07:20:25,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:20:25,353 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:20:25,353 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:20:25,369 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-28 07:20:25,555 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:20:25,555 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:20:25,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:20:25,556 INFO L85 PathProgramCache]: Analyzing trace with hash -1357155568, now seen corresponding path program 1 times [2022-04-28 07:20:25,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:20:25,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1684302723] [2022-04-28 07:20:33,151 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:33,211 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:33,260 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:33,317 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:34,815 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:34,876 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:20:34,876 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 07:20:34,879 INFO L85 PathProgramCache]: Analyzing trace with hash 1724905837, now seen corresponding path program 1 times [2022-04-28 07:20:34,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:20:34,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135406435] [2022-04-28 07:20:34,879 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:20:34,879 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:20:34,889 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:20:34,889 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [718080101] [2022-04-28 07:20:34,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:20:34,889 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:20:34,889 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:20:34,890 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:20:34,916 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 07:20:34,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:20:34,941 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 42 conjunts are in the unsatisfiable core [2022-04-28 07:20:34,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:20:34,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:20:49,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {2962#true} call ULTIMATE.init(); {2962#true} is VALID [2022-04-28 07:20:49,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {2962#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);~counter~0 := 0; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,098 INFO L290 TraceCheckUtils]: 2: Hoare triple {2970#(<= 0 ~counter~0)} assume true; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,098 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2970#(<= 0 ~counter~0)} {2962#true} #77#return; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {2970#(<= 0 ~counter~0)} call #t~ret7 := main(); {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {2970#(<= 0 ~counter~0)} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,101 INFO L272 TraceCheckUtils]: 6: Hoare triple {2970#(<= 0 ~counter~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,102 INFO L290 TraceCheckUtils]: 7: Hoare triple {2970#(<= 0 ~counter~0)} ~cond := #in~cond; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,103 INFO L290 TraceCheckUtils]: 8: Hoare triple {2970#(<= 0 ~counter~0)} assume !(0 == ~cond); {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,103 INFO L290 TraceCheckUtils]: 9: Hoare triple {2970#(<= 0 ~counter~0)} assume true; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,104 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2970#(<= 0 ~counter~0)} {2970#(<= 0 ~counter~0)} #69#return; {2970#(<= 0 ~counter~0)} is VALID [2022-04-28 07:20:49,104 INFO L290 TraceCheckUtils]: 11: Hoare triple {2970#(<= 0 ~counter~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3001#(and (<= 0 ~counter~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,106 INFO L290 TraceCheckUtils]: 12: Hoare triple {3001#(and (<= 0 ~counter~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} [81] L46-2-->L33-1_primed: Formula: (let ((.cse6 (+ (* v_main_~p~0_29 v_main_~a~0_38 v_main_~b~0_37) v_main_~q~0_28))) (let ((.cse5 (= (mod v_main_~b~0_37 2) 0)) (.cse4 (= 0 v_main_~b~0_37)) (.cse10 (<= 0 v_main_~a~0_38)) (.cse7 (= (mod v_main_~a~0_38 2) 1)) (.cse9 (= (* v_main_~x~0_22 v_main_~y~0_26) .cse6)) (.cse8 (< v_~counter~0_29 2)) (.cse0 (= v_main_~q~0_28 v_main_~q~0_27)) (.cse1 (= |v_main_#t~post6_17| |v_main_#t~post6_15|)) (.cse2 (= v_~counter~0_29 v_~counter~0_28)) (.cse3 (= v_main_~a~0_38 v_main_~a~0_37))) (or (and .cse0 (= v_main_~p~0_29 v_main_~p~0_29) .cse1 (= v_main_~b~0_37 v_main_~b~0_37) .cse2 (= v_main_~x~0_22 v_main_~x~0_22) (= v_main_~y~0_26 v_main_~y~0_26) .cse3) (and (not .cse4) .cse5 (< v_main_~a~0_37 v_main_~a~0_38) (= (+ v_main_~q~0_27 (* v_main_~p~0_29 v_main_~a~0_37 v_main_~b~0_37)) .cse6) .cse7 (< v_main_~a~0_38 (+ 2 v_main_~a~0_37)) .cse8 .cse9 (= (+ v_~counter~0_29 v_main_~a~0_38) (+ v_~counter~0_28 v_main_~a~0_37)) .cse10) (and (or (not .cse5) .cse4 (not .cse10) (not .cse7) (not .cse9) (not .cse8)) .cse0 .cse1 .cse2 .cse3)))) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_17|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3005#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (< (+ ~counter~0 main_~a~0) (+ main_~x~0 2)) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {3005#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (< (+ ~counter~0 main_~a~0) (+ main_~x~0 2)) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [82] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3005#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (< (+ ~counter~0 main_~a~0) (+ main_~x~0 2)) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {3005#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (< (+ ~counter~0 main_~a~0) (+ main_~x~0 2)) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [83] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= |v_main_#t~post6_20| |v_main_#t~post6_15|) (= v_~counter~0_29 v_~counter~0_28) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_20|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [84] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [85] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= v_~counter~0_29 v_~counter~0_28) (= |v_main_#t~post6_23| |v_main_#t~post6_15|) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_23|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [86] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,110 INFO L290 TraceCheckUtils]: 18: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [87] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= v_~counter~0_29 v_~counter~0_28) (= |v_main_#t~post6_26| |v_main_#t~post6_15|) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_26|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,111 INFO L290 TraceCheckUtils]: 19: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [88] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [89] L46-2-->L33-1_primed: Formula: (let ((.cse2 (+ (* v_main_~p~0_29 v_main_~a~0_38 v_main_~b~0_37) v_main_~q~0_28))) (let ((.cse1 (= (mod v_main_~b~0_37 2) 0)) (.cse0 (= 0 v_main_~b~0_37)) (.cse6 (<= 0 v_main_~a~0_38)) (.cse3 (= (mod v_main_~a~0_38 2) 1)) (.cse5 (= (* v_main_~x~0_22 v_main_~y~0_26) .cse2)) (.cse4 (< v_~counter~0_29 2)) (.cse7 (= v_main_~q~0_28 v_main_~q~0_27)) (.cse8 (= v_~counter~0_29 v_~counter~0_28)) (.cse9 (= |v_main_#t~post6_29| |v_main_#t~post6_15|)) (.cse10 (= v_main_~a~0_38 v_main_~a~0_37))) (or (and (not .cse0) .cse1 (< v_main_~a~0_37 v_main_~a~0_38) (= (+ v_main_~q~0_27 (* v_main_~p~0_29 v_main_~a~0_37 v_main_~b~0_37)) .cse2) .cse3 (< v_main_~a~0_38 (+ 2 v_main_~a~0_37)) .cse4 .cse5 (= (+ v_~counter~0_29 v_main_~a~0_38) (+ v_~counter~0_28 v_main_~a~0_37)) .cse6) (and (or (not .cse1) .cse0 (not .cse6) (not .cse3) (not .cse5) (not .cse4)) .cse7 .cse8 .cse9 .cse10) (and .cse7 (= v_main_~p~0_29 v_main_~p~0_29) (= v_main_~b~0_37 v_main_~b~0_37) .cse8 (= v_main_~x~0_22 v_main_~x~0_22) .cse9 (= v_main_~y~0_26 v_main_~y~0_26) .cse10)))) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_29|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,116 INFO L290 TraceCheckUtils]: 21: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [90] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,123 INFO L290 TraceCheckUtils]: 22: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [91] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= |v_main_#t~post6_32| |v_main_#t~post6_15|) (= v_~counter~0_29 v_~counter~0_28) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_32|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {3012#(and (= main_~b~0 main_~y~0) (or (and (<= 0 ~counter~0) (= main_~q~0 0) (= main_~a~0 main_~x~0)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ ~counter~0 main_~a~0)))) (= main_~p~0 1))} [80] L33-1_primed-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3040#(and (or (and (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= 0 |main_#t~post6|)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ |main_#t~post6| main_~a~0)))) (= main_~b~0 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,125 INFO L290 TraceCheckUtils]: 24: Hoare triple {3040#(and (or (and (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= 0 |main_#t~post6|)) (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0)) (<= main_~x~0 (+ |main_#t~post6| main_~a~0)))) (= main_~b~0 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 2);havoc #t~post6; {3044#(and (= main_~b~0 main_~y~0) (or (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0))) (and (= main_~q~0 0) (= main_~a~0 main_~x~0))) (= main_~p~0 1))} is VALID [2022-04-28 07:20:49,128 INFO L272 TraceCheckUtils]: 25: Hoare triple {3044#(and (= main_~b~0 main_~y~0) (or (and (= (mod main_~x~0 2) 1) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~b~0 main_~p~0 main_~x~0)) (< main_~x~0 (+ main_~a~0 2)) (<= 0 main_~x~0) (= (mod main_~b~0 2) 0) (< main_~a~0 main_~x~0) (not (= main_~b~0 0))) (and (= main_~q~0 0) (= main_~a~0 main_~x~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3048#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:20:49,128 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3052#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:20:49,128 INFO L290 TraceCheckUtils]: 27: Hoare triple {3052#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2963#false} is VALID [2022-04-28 07:20:49,128 INFO L290 TraceCheckUtils]: 28: Hoare triple {2963#false} assume !false; {2963#false} is VALID [2022-04-28 07:20:49,129 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-28 07:20:49,129 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:21:01,753 INFO L290 TraceCheckUtils]: 28: Hoare triple {2963#false} assume !false; {2963#false} is VALID [2022-04-28 07:21:01,753 INFO L290 TraceCheckUtils]: 27: Hoare triple {3052#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2963#false} is VALID [2022-04-28 07:21:01,753 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3052#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:21:01,754 INFO L272 TraceCheckUtils]: 25: Hoare triple {3068#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3048#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:21:01,755 INFO L290 TraceCheckUtils]: 24: Hoare triple {3072#(or (not (< |main_#t~post6| 2)) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} assume !!(#t~post6 < 2);havoc #t~post6; {3068#(= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:21:01,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [80] L33-1_primed-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {3072#(or (not (< |main_#t~post6| 2)) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [91] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= |v_main_#t~post6_32| |v_main_#t~post6_15|) (= v_~counter~0_29 v_~counter~0_28) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_32|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [90] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,760 INFO L290 TraceCheckUtils]: 20: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [89] L46-2-->L33-1_primed: Formula: (let ((.cse2 (+ (* v_main_~p~0_29 v_main_~a~0_38 v_main_~b~0_37) v_main_~q~0_28))) (let ((.cse1 (= (mod v_main_~b~0_37 2) 0)) (.cse0 (= 0 v_main_~b~0_37)) (.cse6 (<= 0 v_main_~a~0_38)) (.cse3 (= (mod v_main_~a~0_38 2) 1)) (.cse5 (= (* v_main_~x~0_22 v_main_~y~0_26) .cse2)) (.cse4 (< v_~counter~0_29 2)) (.cse7 (= v_main_~q~0_28 v_main_~q~0_27)) (.cse8 (= v_~counter~0_29 v_~counter~0_28)) (.cse9 (= |v_main_#t~post6_29| |v_main_#t~post6_15|)) (.cse10 (= v_main_~a~0_38 v_main_~a~0_37))) (or (and (not .cse0) .cse1 (< v_main_~a~0_37 v_main_~a~0_38) (= (+ v_main_~q~0_27 (* v_main_~p~0_29 v_main_~a~0_37 v_main_~b~0_37)) .cse2) .cse3 (< v_main_~a~0_38 (+ 2 v_main_~a~0_37)) .cse4 .cse5 (= (+ v_~counter~0_29 v_main_~a~0_38) (+ v_~counter~0_28 v_main_~a~0_37)) .cse6) (and (or (not .cse1) .cse0 (not .cse6) (not .cse3) (not .cse5) (not .cse4)) .cse7 .cse8 .cse9 .cse10) (and .cse7 (= v_main_~p~0_29 v_main_~p~0_29) (= v_main_~b~0_37 v_main_~b~0_37) .cse8 (= v_main_~x~0_22 v_main_~x~0_22) .cse9 (= v_main_~y~0_26 v_main_~y~0_26) .cse10)))) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_29|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,760 INFO L290 TraceCheckUtils]: 19: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [88] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,761 INFO L290 TraceCheckUtils]: 18: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [87] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= v_~counter~0_29 v_~counter~0_28) (= |v_main_#t~post6_26| |v_main_#t~post6_15|) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_26|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,761 INFO L290 TraceCheckUtils]: 17: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [86] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,762 INFO L290 TraceCheckUtils]: 16: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [85] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= v_~counter~0_29 v_~counter~0_28) (= |v_main_#t~post6_23| |v_main_#t~post6_15|) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_23|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,762 INFO L290 TraceCheckUtils]: 15: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [84] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,762 INFO L290 TraceCheckUtils]: 14: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [83] L46-2-->L33-1_primed: Formula: (and (= v_main_~q~0_28 v_main_~q~0_27) (= |v_main_#t~post6_20| |v_main_#t~post6_15|) (= v_~counter~0_29 v_~counter~0_28) (= v_main_~a~0_38 v_main_~a~0_37)) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_#t~post6=|v_main_#t~post6_20|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [82] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,766 INFO L290 TraceCheckUtils]: 12: Hoare triple {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} [81] L46-2-->L33-1_primed: Formula: (let ((.cse6 (+ (* v_main_~p~0_29 v_main_~a~0_38 v_main_~b~0_37) v_main_~q~0_28))) (let ((.cse5 (= (mod v_main_~b~0_37 2) 0)) (.cse4 (= 0 v_main_~b~0_37)) (.cse10 (<= 0 v_main_~a~0_38)) (.cse7 (= (mod v_main_~a~0_38 2) 1)) (.cse9 (= (* v_main_~x~0_22 v_main_~y~0_26) .cse6)) (.cse8 (< v_~counter~0_29 2)) (.cse0 (= v_main_~q~0_28 v_main_~q~0_27)) (.cse1 (= |v_main_#t~post6_17| |v_main_#t~post6_15|)) (.cse2 (= v_~counter~0_29 v_~counter~0_28)) (.cse3 (= v_main_~a~0_38 v_main_~a~0_37))) (or (and .cse0 (= v_main_~p~0_29 v_main_~p~0_29) .cse1 (= v_main_~b~0_37 v_main_~b~0_37) .cse2 (= v_main_~x~0_22 v_main_~x~0_22) (= v_main_~y~0_26 v_main_~y~0_26) .cse3) (and (not .cse4) .cse5 (< v_main_~a~0_37 v_main_~a~0_38) (= (+ v_main_~q~0_27 (* v_main_~p~0_29 v_main_~a~0_37 v_main_~b~0_37)) .cse6) .cse7 (< v_main_~a~0_38 (+ 2 v_main_~a~0_37)) .cse8 .cse9 (= (+ v_~counter~0_29 v_main_~a~0_38) (+ v_~counter~0_28 v_main_~a~0_37)) .cse10) (and (or (not .cse5) .cse4 (not .cse10) (not .cse7) (not .cse9) (not .cse8)) .cse0 .cse1 .cse2 .cse3)))) InVars {main_~q~0=v_main_~q~0_28, ~counter~0=v_~counter~0_29, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_17|, main_~a~0=v_main_~a~0_38} OutVars{main_~q~0=v_main_~q~0_27, ~counter~0=v_~counter~0_28, main_~x~0=v_main_~x~0_22, main_~y~0=v_main_~y~0_26, main_~b~0=v_main_~b~0_37, main_~p~0=v_main_~p~0_29, main_#t~post6=|v_main_#t~post6_15|, main_~a~0=v_main_~a~0_37} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_#t~post6, main_~a~0] {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,766 INFO L290 TraceCheckUtils]: 11: Hoare triple {2962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3076#(or (<= 2 ~counter~0) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 07:21:01,767 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2962#true} {2962#true} #69#return; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {2962#true} assume true; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {2962#true} assume !(0 == ~cond); {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {2962#true} ~cond := #in~cond; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L272 TraceCheckUtils]: 6: Hoare triple {2962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 5: Hoare triple {2962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L272 TraceCheckUtils]: 4: Hoare triple {2962#true} call #t~ret7 := main(); {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2962#true} {2962#true} #77#return; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 2: Hoare triple {2962#true} assume true; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L290 TraceCheckUtils]: 1: Hoare triple {2962#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);~counter~0 := 0; {2962#true} is VALID [2022-04-28 07:21:01,767 INFO L272 TraceCheckUtils]: 0: Hoare triple {2962#true} call ULTIMATE.init(); {2962#true} is VALID [2022-04-28 07:21:01,768 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 07:21:01,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:21:01,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135406435] [2022-04-28 07:21:01,768 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:21:01,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [718080101] [2022-04-28 07:21:01,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [718080101] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 07:21:01,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:21:01,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [10] total 13 [2022-04-28 07:21:02,151 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:21:02,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1684302723] [2022-04-28 07:21:02,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1684302723] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:21:02,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:21:02,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 07:21:02,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1932767085] [2022-04-28 07:21:02,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:21:02,152 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 07:21:02,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:21:02,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:21:02,174 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:02,174 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 07:21:02,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:21:02,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 07:21:02,175 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=294, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:21:02,175 INFO L87 Difference]: Start difference. First operand 62 states and 80 transitions. Second operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:21:02,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:02,985 INFO L93 Difference]: Finished difference Result 73 states and 91 transitions. [2022-04-28 07:21:02,985 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:21:02,985 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 28 [2022-04-28 07:21:02,986 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:21:02,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:21:02,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 44 transitions. [2022-04-28 07:21:02,987 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:21:02,987 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 44 transitions. [2022-04-28 07:21:02,987 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 44 transitions. [2022-04-28 07:21:03,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:03,050 INFO L225 Difference]: With dead ends: 73 [2022-04-28 07:21:03,050 INFO L226 Difference]: Without dead ends: 71 [2022-04-28 07:21:03,051 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 46 SyntacticMatches, 6 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 163 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=92, Invalid=328, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:21:03,051 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 15 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 122 SdHoareTripleChecker+Invalid, 177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:21:03,051 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 122 Invalid, 177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 160 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 07:21:03,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-28 07:21:03,136 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 66. [2022-04-28 07:21:03,136 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:21:03,137 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:21:03,137 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:21:03,137 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:21:03,141 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:03,141 INFO L93 Difference]: Finished difference Result 71 states and 89 transitions. [2022-04-28 07:21:03,141 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 89 transitions. [2022-04-28 07:21:03,142 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:21:03,142 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:21:03,142 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 07:21:03,142 INFO L87 Difference]: Start difference. First operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 71 states. [2022-04-28 07:21:03,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:03,143 INFO L93 Difference]: Finished difference Result 71 states and 89 transitions. [2022-04-28 07:21:03,143 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 89 transitions. [2022-04-28 07:21:03,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:21:03,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:21:03,144 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:21:03,144 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:21:03,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 48 states have (on average 1.3333333333333333) internal successors, (64), 51 states have internal predecessors, (64), 11 states have call successors, (11), 7 states have call predecessors, (11), 6 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-28 07:21:03,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 83 transitions. [2022-04-28 07:21:03,145 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 83 transitions. Word has length 28 [2022-04-28 07:21:03,145 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:21:03,145 INFO L495 AbstractCegarLoop]: Abstraction has 66 states and 83 transitions. [2022-04-28 07:21:03,145 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 12 states have internal predecessors, (20), 3 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:21:03,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 66 states and 83 transitions. [2022-04-28 07:21:05,345 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 82 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:05,345 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-28 07:21:05,346 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 07:21:05,346 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:21:05,346 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 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-28 07:21:05,362 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 07:21:05,546 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:21:05,547 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:21:05,547 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:21:05,547 INFO L85 PathProgramCache]: Analyzing trace with hash 1680888588, now seen corresponding path program 1 times [2022-04-28 07:21:05,547 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:21:05,547 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [990145447] [2022-04-28 07:21:11,608 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:21:11,609 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:21:11,609 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:21:11,609 INFO L85 PathProgramCache]: Analyzing trace with hash 1680888588, now seen corresponding path program 2 times [2022-04-28 07:21:11,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:21:11,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [313866101] [2022-04-28 07:21:11,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:21:11,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:21:11,617 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:21:11,618 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [495460393] [2022-04-28 07:21:11,618 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:21:11,618 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:21:11,618 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:21:11,619 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:21:11,619 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 07:21:11,658 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:21:11,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:21:11,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 07:21:11,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:21:11,672 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:21:12,000 INFO L272 TraceCheckUtils]: 0: Hoare triple {3577#true} call ULTIMATE.init(); {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {3577#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);~counter~0 := 0; {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L290 TraceCheckUtils]: 2: Hoare triple {3577#true} assume true; {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3577#true} {3577#true} #77#return; {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {3577#true} call #t~ret7 := main(); {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {3577#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3577#true} is VALID [2022-04-28 07:21:12,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {3577#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3577#true} is VALID [2022-04-28 07:21:12,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {3577#true} ~cond := #in~cond; {3603#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:21:12,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {3603#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3607#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:21:12,001 INFO L290 TraceCheckUtils]: 9: Hoare triple {3607#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3607#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:21:12,002 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3607#(not (= |assume_abort_if_not_#in~cond| 0))} {3577#true} #69#return; {3614#(<= 1 main_~y~0)} is VALID [2022-04-28 07:21:12,002 INFO L290 TraceCheckUtils]: 11: Hoare triple {3614#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {3618#(<= 1 main_~b~0)} is VALID [2022-04-28 07:21:12,002 INFO L290 TraceCheckUtils]: 12: Hoare triple {3618#(<= 1 main_~b~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3618#(<= 1 main_~b~0)} is VALID [2022-04-28 07:21:12,003 INFO L290 TraceCheckUtils]: 13: Hoare triple {3618#(<= 1 main_~b~0)} assume !!(#t~post6 < 2);havoc #t~post6; {3618#(<= 1 main_~b~0)} is VALID [2022-04-28 07:21:12,003 INFO L272 TraceCheckUtils]: 14: Hoare triple {3618#(<= 1 main_~b~0)} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3577#true} is VALID [2022-04-28 07:21:12,003 INFO L290 TraceCheckUtils]: 15: Hoare triple {3577#true} ~cond := #in~cond; {3577#true} is VALID [2022-04-28 07:21:12,003 INFO L290 TraceCheckUtils]: 16: Hoare triple {3577#true} assume !(0 == ~cond); {3577#true} is VALID [2022-04-28 07:21:12,003 INFO L290 TraceCheckUtils]: 17: Hoare triple {3577#true} assume true; {3577#true} is VALID [2022-04-28 07:21:12,004 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3577#true} {3618#(<= 1 main_~b~0)} #71#return; {3618#(<= 1 main_~b~0)} is VALID [2022-04-28 07:21:12,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {3618#(<= 1 main_~b~0)} assume !!(0 != ~a~0 && 0 != ~b~0); {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:21:12,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume 0 == (if ~a~0 < 0 && 0 != ~a~0 % 2 then ~a~0 % 2 - 2 else ~a~0 % 2) && 0 == (if ~b~0 < 0 && 0 != ~b~0 % 2 then ~b~0 % 2 - 2 else ~b~0 % 2);~a~0 := (if ~a~0 < 0 && 0 != ~a~0 % 2 then 1 + ~a~0 / 2 else ~a~0 / 2);~b~0 := (if ~b~0 < 0 && 0 != ~b~0 % 2 then 1 + ~b~0 / 2 else ~b~0 / 2);~p~0 := 4 * ~p~0; {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:21:12,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:21:12,006 INFO L290 TraceCheckUtils]: 22: Hoare triple {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !!(#t~post6 < 2);havoc #t~post6; {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:21:12,006 INFO L272 TraceCheckUtils]: 23: Hoare triple {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {3577#true} is VALID [2022-04-28 07:21:12,006 INFO L290 TraceCheckUtils]: 24: Hoare triple {3577#true} ~cond := #in~cond; {3577#true} is VALID [2022-04-28 07:21:12,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {3577#true} assume !(0 == ~cond); {3577#true} is VALID [2022-04-28 07:21:12,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {3577#true} assume true; {3577#true} is VALID [2022-04-28 07:21:12,006 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3577#true} {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} #71#return; {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:21:12,007 INFO L290 TraceCheckUtils]: 28: Hoare triple {3643#(and (not (= main_~a~0 0)) (<= 1 main_~b~0))} assume !(0 != ~a~0 && 0 != ~b~0); {3578#false} is VALID [2022-04-28 07:21:12,007 INFO L272 TraceCheckUtils]: 29: Hoare triple {3578#false} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {3578#false} is VALID [2022-04-28 07:21:12,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {3578#false} ~cond := #in~cond; {3578#false} is VALID [2022-04-28 07:21:12,007 INFO L290 TraceCheckUtils]: 31: Hoare triple {3578#false} assume 0 == ~cond; {3578#false} is VALID [2022-04-28 07:21:12,007 INFO L290 TraceCheckUtils]: 32: Hoare triple {3578#false} assume !false; {3578#false} is VALID [2022-04-28 07:21:12,007 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:21:12,007 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:21:12,007 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:21:12,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [313866101] [2022-04-28 07:21:12,007 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:21:12,007 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [495460393] [2022-04-28 07:21:12,007 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [495460393] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:21:12,008 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:21:12,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:21:12,008 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:21:12,008 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [990145447] [2022-04-28 07:21:12,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [990145447] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:21:12,008 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:21:12,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:21:12,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1730747057] [2022-04-28 07:21:12,008 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:21:12,008 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 33 [2022-04-28 07:21:12,008 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:21:12,009 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:21:12,030 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:12,030 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 07:21:12,030 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:21:12,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 07:21:12,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 07:21:12,031 INFO L87 Difference]: Start difference. First operand 66 states and 83 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:21:12,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:12,324 INFO L93 Difference]: Finished difference Result 82 states and 104 transitions. [2022-04-28 07:21:12,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 07:21:12,324 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 33 [2022-04-28 07:21:12,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:21:12,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:21:12,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 07:21:12,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:21:12,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 07:21:12,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-28 07:21:12,380 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:12,381 INFO L225 Difference]: With dead ends: 82 [2022-04-28 07:21:12,381 INFO L226 Difference]: Without dead ends: 75 [2022-04-28 07:21:12,381 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 26 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:21:12,382 INFO L413 NwaCegarLoop]: 30 mSDtfsCounter, 30 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 72 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 85 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 72 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:21:12,382 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 109 Invalid, 85 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 72 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 07:21:12,382 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-28 07:21:12,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 70. [2022-04-28 07:21:12,468 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:21:12,469 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:21:12,469 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:21:12,469 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:21:12,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:12,478 INFO L93 Difference]: Finished difference Result 75 states and 97 transitions. [2022-04-28 07:21:12,479 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 97 transitions. [2022-04-28 07:21:12,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:21:12,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:21:12,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 75 states. [2022-04-28 07:21:12,479 INFO L87 Difference]: Start difference. First operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 75 states. [2022-04-28 07:21:12,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:21:12,484 INFO L93 Difference]: Finished difference Result 75 states and 97 transitions. [2022-04-28 07:21:12,484 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 97 transitions. [2022-04-28 07:21:12,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:21:12,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:21:12,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:21:12,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:21:12,486 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 70 states, 51 states have (on average 1.3333333333333333) internal successors, (68), 54 states have internal predecessors, (68), 12 states have call successors, (12), 7 states have call predecessors, (12), 6 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:21:12,491 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 89 transitions. [2022-04-28 07:21:12,491 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 89 transitions. Word has length 33 [2022-04-28 07:21:12,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:21:12,492 INFO L495 AbstractCegarLoop]: Abstraction has 70 states and 89 transitions. [2022-04-28 07:21:12,492 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:21:12,492 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 70 states and 89 transitions. [2022-04-28 07:21:14,708 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 88 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:21:14,708 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 89 transitions. [2022-04-28 07:21:14,709 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-04-28 07:21:14,709 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:21:14,709 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:21:14,726 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-28 07:21:14,923 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 07:21:14,924 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:21:14,924 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:21:14,924 INFO L85 PathProgramCache]: Analyzing trace with hash 368374993, now seen corresponding path program 1 times [2022-04-28 07:21:14,924 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:21:14,924 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1517476757] [2022-04-28 07:21:23,301 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,295 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,342 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,396 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,446 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,501 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, 1 ReadonlyVariables, Eigenvalues: {1={1=1, 2=2}}, 1 SequentialAcceleration, 0 AlternatingAcceleration, 1 QuantifierFreeResult [2022-04-28 07:21:25,501 INFO L271 tedInterpolationCore]: Starting analysis with loop acceleration approximation PRECISE [2022-04-28 07:21:25,503 INFO L85 PathProgramCache]: Analyzing trace with hash -1745517901, now seen corresponding path program 1 times [2022-04-28 07:21:25,503 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:21:25,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [460259297] [2022-04-28 07:21:25,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:21:25,504 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:21:25,526 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:21:25,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [534975198] [2022-04-28 07:21:25,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:21:25,526 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:21:25,526 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:21:25,537 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:21:25,537 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 07:21:25,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:21:25,602 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 07:21:25,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:21:25,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:21:35,789 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:21:35,946 INFO L272 TraceCheckUtils]: 0: Hoare triple {4142#true} call ULTIMATE.init(); {4142#true} is VALID [2022-04-28 07:21:35,946 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#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);~counter~0 := 0; {4142#true} is VALID [2022-04-28 07:21:35,946 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-28 07:21:35,947 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4142#true} #77#return; {4142#true} is VALID [2022-04-28 07:21:35,947 INFO L272 TraceCheckUtils]: 4: Hoare triple {4142#true} call #t~ret7 := main(); {4142#true} is VALID [2022-04-28 07:21:35,947 INFO L290 TraceCheckUtils]: 5: Hoare triple {4142#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4142#true} is VALID [2022-04-28 07:21:35,947 INFO L272 TraceCheckUtils]: 6: Hoare triple {4142#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4142#true} is VALID [2022-04-28 07:21:35,947 INFO L290 TraceCheckUtils]: 7: Hoare triple {4142#true} ~cond := #in~cond; {4168#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:21:35,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {4168#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4172#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:21:35,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {4172#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4172#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:21:35,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4172#(not (= |assume_abort_if_not_#in~cond| 0))} {4142#true} #69#return; {4179#(<= 1 main_~y~0)} is VALID [2022-04-28 07:21:35,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {4179#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [93] L46-2-->L33-1_primed: Formula: (let ((.cse0 (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_main_~a~0_83 v_main_~b~0_54)) (* v_main_~x~0_35 v_main_~y~0_39))) (.cse3 (= 0 v_main_~a~0_83)) (.cse1 (= 0 (mod v_main_~a~0_83 2))) (.cse2 (<= 0 v_main_~b~0_54)) (.cse4 (< v_~counter~0_72 2)) (.cse5 (= v_~counter~0_72 v_~counter~0_71)) (.cse6 (= v_main_~b~0_54 v_main_~b~0_53)) (.cse7 (= |v_main_#t~post6_54| |v_main_#t~post6_52|)) (.cse8 (= v_main_~q~0_72 v_main_~q~0_71))) (or (and .cse0 .cse1 .cse2 (< v_~counter~0_72 v_~counter~0_71) (= (+ v_~counter~0_72 v_main_~b~0_54) (+ v_~counter~0_71 v_main_~b~0_53)) (not .cse3) .cse4 (<= (div (+ (* (- 1) v_main_~b~0_54) v_~counter~0_72 (* (- 1) v_~counter~0_71)) (- 2)) (+ (div (+ (- 1) v_main_~b~0_54) 2) 1)) (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_~counter~0_71 v_main_~a~0_83)) (+ v_main_~q~0_71 (* v_main_~p~0_44 v_~counter~0_72 v_main_~a~0_83)))) (and .cse5 (or (not .cse0) .cse3 (not (= (mod v_main_~b~0_54 2) 1)) (not .cse1) (not .cse2) (not .cse4)) .cse6 .cse7 .cse8) (and (= v_main_~a~0_83 v_main_~a~0_83) (= v_main_~y~0_39 v_main_~y~0_39) .cse5 .cse6 .cse7 .cse8 (= v_main_~p~0_44 v_main_~p~0_44) (= v_main_~x~0_35 v_main_~x~0_35)))) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_54, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_54|, main_~a~0=v_main_~a~0_83} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_53, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_52|, main_~a~0=v_main_~a~0_83} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [94] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [95] L46-2-->L33-1_primed: Formula: (let ((.cse0 (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_main_~a~0_83 v_main_~b~0_54)) (* v_main_~x~0_35 v_main_~y~0_39))) (.cse3 (= 0 v_main_~a~0_83)) (.cse1 (= 0 (mod v_main_~a~0_83 2))) (.cse2 (<= 0 v_main_~b~0_54)) (.cse4 (< v_~counter~0_72 2)) (.cse5 (= v_~counter~0_72 v_~counter~0_71)) (.cse6 (= v_main_~b~0_54 v_main_~b~0_53)) (.cse7 (= v_main_~q~0_72 v_main_~q~0_71)) (.cse8 (= |v_main_#t~post6_57| |v_main_#t~post6_52|))) (or (and .cse0 .cse1 .cse2 (< v_~counter~0_72 v_~counter~0_71) (= (+ v_~counter~0_72 v_main_~b~0_54) (+ v_~counter~0_71 v_main_~b~0_53)) (not .cse3) .cse4 (<= (div (+ (* (- 1) v_main_~b~0_54) v_~counter~0_72 (* (- 1) v_~counter~0_71)) (- 2)) (+ (div (+ (- 1) v_main_~b~0_54) 2) 1)) (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_~counter~0_71 v_main_~a~0_83)) (+ v_main_~q~0_71 (* v_main_~p~0_44 v_~counter~0_72 v_main_~a~0_83)))) (and .cse5 (or (not .cse0) .cse3 (not (= (mod v_main_~b~0_54 2) 1)) (not .cse1) (not .cse2) (not .cse4)) .cse6 .cse7 .cse8) (and (= v_main_~a~0_83 v_main_~a~0_83) (= v_main_~y~0_39 v_main_~y~0_39) .cse5 .cse6 .cse7 (= v_main_~p~0_44 v_main_~p~0_44) (= v_main_~x~0_35 v_main_~x~0_35) .cse8))) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_54, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_57|, main_~a~0=v_main_~a~0_83} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_53, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_52|, main_~a~0=v_main_~a~0_83} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,951 INFO L290 TraceCheckUtils]: 15: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [96] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,951 INFO L290 TraceCheckUtils]: 16: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [97] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= |v_main_#t~post6_60| |v_main_#t~post6_52|) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_60|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,952 INFO L290 TraceCheckUtils]: 17: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [98] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [99] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71) (= |v_main_#t~post6_63| |v_main_#t~post6_52|)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_63|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [100] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [101] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71) (= |v_main_#t~post6_66| |v_main_#t~post6_52|)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_66|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,953 INFO L290 TraceCheckUtils]: 21: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [102] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,954 INFO L290 TraceCheckUtils]: 22: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [103] L46-2-->L33-1_primed: Formula: (and (= |v_main_#t~post6_69| |v_main_#t~post6_52|) (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_69|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,954 INFO L290 TraceCheckUtils]: 23: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} [92] L33-1_primed-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,954 INFO L290 TraceCheckUtils]: 24: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} assume !!(#t~post6 < 2);havoc #t~post6; {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:35,954 INFO L272 TraceCheckUtils]: 25: Hoare triple {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4142#true} is VALID [2022-04-28 07:21:35,955 INFO L290 TraceCheckUtils]: 26: Hoare triple {4142#true} ~cond := #in~cond; {4229#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:21:35,955 INFO L290 TraceCheckUtils]: 27: Hoare triple {4229#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:21:35,955 INFO L290 TraceCheckUtils]: 28: Hoare triple {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:21:37,958 WARN L284 TraceCheckUtils]: 29: Hoare quadruple {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} {4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0))} #71#return; {4240#(and (or (and (= main_~a~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= main_~b~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (<= 1 main_~y~0))} is UNKNOWN [2022-04-28 07:21:37,959 INFO L290 TraceCheckUtils]: 30: Hoare triple {4240#(and (or (and (= main_~a~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= main_~b~0 0) (= (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) 0)) (and (= (mod (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0)) 0) (<= 1 (div (+ (* main_~y~0 main_~x~0) (* (- 1) main_~q~0)) (* main_~b~0 main_~a~0))) (not (= main_~b~0 0)) (not (= main_~a~0 0)))) (<= 1 main_~y~0))} assume !(0 != ~a~0 && 0 != ~b~0); {4244#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} is VALID [2022-04-28 07:21:37,959 INFO L272 TraceCheckUtils]: 31: Hoare triple {4244#(and (= main_~q~0 (* main_~y~0 main_~x~0)) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:21:37,960 INFO L290 TraceCheckUtils]: 32: Hoare triple {4248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:21:37,960 INFO L290 TraceCheckUtils]: 33: Hoare triple {4252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4143#false} is VALID [2022-04-28 07:21:37,960 INFO L290 TraceCheckUtils]: 34: Hoare triple {4143#false} assume !false; {4143#false} is VALID [2022-04-28 07:21:37,960 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 07:21:37,960 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:22:08,943 INFO L290 TraceCheckUtils]: 34: Hoare triple {4143#false} assume !false; {4143#false} is VALID [2022-04-28 07:22:08,944 INFO L290 TraceCheckUtils]: 33: Hoare triple {4252#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4143#false} is VALID [2022-04-28 07:22:08,944 INFO L290 TraceCheckUtils]: 32: Hoare triple {4248#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4252#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:22:08,945 INFO L272 TraceCheckUtils]: 31: Hoare triple {4268#(= main_~q~0 (* main_~y~0 main_~x~0))} call __VERIFIER_assert((if ~q~0 == ~x~0 * ~y~0 then 1 else 0)); {4248#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:22:08,945 INFO L290 TraceCheckUtils]: 30: Hoare triple {4272#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} assume !(0 != ~a~0 && 0 != ~b~0); {4268#(= main_~q~0 (* main_~y~0 main_~x~0))} is VALID [2022-04-28 07:22:08,946 INFO L284 TraceCheckUtils]: 29: Hoare quadruple {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} {4142#true} #71#return; {4272#(or (= main_~q~0 (* main_~y~0 main_~x~0)) (and (not (= main_~b~0 0)) (not (= main_~a~0 0))))} is VALID [2022-04-28 07:22:08,947 INFO L290 TraceCheckUtils]: 28: Hoare triple {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:08,951 INFO L290 TraceCheckUtils]: 27: Hoare triple {4285#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4233#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:22:08,951 INFO L290 TraceCheckUtils]: 26: Hoare triple {4142#true} ~cond := #in~cond; {4285#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:22:08,951 INFO L272 TraceCheckUtils]: 25: Hoare triple {4142#true} call __VERIFIER_assert((if ~q~0 + ~a~0 * ~b~0 * ~p~0 == ~x~0 * ~y~0 then 1 else 0)); {4142#true} is VALID [2022-04-28 07:22:08,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {4142#true} assume !!(#t~post6 < 2);havoc #t~post6; {4142#true} is VALID [2022-04-28 07:22:08,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {4142#true} [92] L33-1_primed-->L33-1: Formula: (and (= |v_main_#t~post6_1| v_~counter~0_2) (= v_~counter~0_1 (+ |v_main_#t~post6_1| 1))) InVars {~counter~0=v_~counter~0_2} OutVars{~counter~0=v_~counter~0_1, main_#t~post6=|v_main_#t~post6_1|} AuxVars[] AssignedVars[~counter~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,951 INFO L290 TraceCheckUtils]: 22: Hoare triple {4142#true} [103] L46-2-->L33-1_primed: Formula: (and (= |v_main_#t~post6_69| |v_main_#t~post6_52|) (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_69|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 21: Hoare triple {4142#true} [102] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 20: Hoare triple {4142#true} [101] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71) (= |v_main_#t~post6_66| |v_main_#t~post6_52|)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_66|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {4142#true} [100] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 18: Hoare triple {4142#true} [99] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71) (= |v_main_#t~post6_63| |v_main_#t~post6_52|)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_63|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 17: Hoare triple {4142#true} [98] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 16: Hoare triple {4142#true} [97] L46-2-->L33-1_primed: Formula: (and (= v_~counter~0_72 v_~counter~0_71) (= |v_main_#t~post6_60| |v_main_#t~post6_52|) (= v_main_~b~0_54 v_main_~b~0_53) (= v_main_~q~0_72 v_main_~q~0_71)) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~b~0=v_main_~b~0_54, main_#t~post6=|v_main_#t~post6_60|} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~b~0=v_main_~b~0_53, main_#t~post6=|v_main_#t~post6_52|} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 15: Hoare triple {4142#true} [96] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {4142#true} [95] L46-2-->L33-1_primed: Formula: (let ((.cse0 (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_main_~a~0_83 v_main_~b~0_54)) (* v_main_~x~0_35 v_main_~y~0_39))) (.cse3 (= 0 v_main_~a~0_83)) (.cse1 (= 0 (mod v_main_~a~0_83 2))) (.cse2 (<= 0 v_main_~b~0_54)) (.cse4 (< v_~counter~0_72 2)) (.cse5 (= v_~counter~0_72 v_~counter~0_71)) (.cse6 (= v_main_~b~0_54 v_main_~b~0_53)) (.cse7 (= v_main_~q~0_72 v_main_~q~0_71)) (.cse8 (= |v_main_#t~post6_57| |v_main_#t~post6_52|))) (or (and .cse0 .cse1 .cse2 (< v_~counter~0_72 v_~counter~0_71) (= (+ v_~counter~0_72 v_main_~b~0_54) (+ v_~counter~0_71 v_main_~b~0_53)) (not .cse3) .cse4 (<= (div (+ (* (- 1) v_main_~b~0_54) v_~counter~0_72 (* (- 1) v_~counter~0_71)) (- 2)) (+ (div (+ (- 1) v_main_~b~0_54) 2) 1)) (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_~counter~0_71 v_main_~a~0_83)) (+ v_main_~q~0_71 (* v_main_~p~0_44 v_~counter~0_72 v_main_~a~0_83)))) (and .cse5 (or (not .cse0) .cse3 (not (= (mod v_main_~b~0_54 2) 1)) (not .cse1) (not .cse2) (not .cse4)) .cse6 .cse7 .cse8) (and (= v_main_~a~0_83 v_main_~a~0_83) (= v_main_~y~0_39 v_main_~y~0_39) .cse5 .cse6 .cse7 (= v_main_~p~0_44 v_main_~p~0_44) (= v_main_~x~0_35 v_main_~x~0_35) .cse8))) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_54, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_57|, main_~a~0=v_main_~a~0_83} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_53, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_52|, main_~a~0=v_main_~a~0_83} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 13: Hoare triple {4142#true} [94] L33-1_primed-->L46-2: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 12: Hoare triple {4142#true} [93] L46-2-->L33-1_primed: Formula: (let ((.cse0 (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_main_~a~0_83 v_main_~b~0_54)) (* v_main_~x~0_35 v_main_~y~0_39))) (.cse3 (= 0 v_main_~a~0_83)) (.cse1 (= 0 (mod v_main_~a~0_83 2))) (.cse2 (<= 0 v_main_~b~0_54)) (.cse4 (< v_~counter~0_72 2)) (.cse5 (= v_~counter~0_72 v_~counter~0_71)) (.cse6 (= v_main_~b~0_54 v_main_~b~0_53)) (.cse7 (= |v_main_#t~post6_54| |v_main_#t~post6_52|)) (.cse8 (= v_main_~q~0_72 v_main_~q~0_71))) (or (and .cse0 .cse1 .cse2 (< v_~counter~0_72 v_~counter~0_71) (= (+ v_~counter~0_72 v_main_~b~0_54) (+ v_~counter~0_71 v_main_~b~0_53)) (not .cse3) .cse4 (<= (div (+ (* (- 1) v_main_~b~0_54) v_~counter~0_72 (* (- 1) v_~counter~0_71)) (- 2)) (+ (div (+ (- 1) v_main_~b~0_54) 2) 1)) (= (+ v_main_~q~0_72 (* v_main_~p~0_44 v_~counter~0_71 v_main_~a~0_83)) (+ v_main_~q~0_71 (* v_main_~p~0_44 v_~counter~0_72 v_main_~a~0_83)))) (and .cse5 (or (not .cse0) .cse3 (not (= (mod v_main_~b~0_54 2) 1)) (not .cse1) (not .cse2) (not .cse4)) .cse6 .cse7 .cse8) (and (= v_main_~a~0_83 v_main_~a~0_83) (= v_main_~y~0_39 v_main_~y~0_39) .cse5 .cse6 .cse7 .cse8 (= v_main_~p~0_44 v_main_~p~0_44) (= v_main_~x~0_35 v_main_~x~0_35)))) InVars {main_~q~0=v_main_~q~0_72, ~counter~0=v_~counter~0_72, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_54, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_54|, main_~a~0=v_main_~a~0_83} OutVars{main_~q~0=v_main_~q~0_71, ~counter~0=v_~counter~0_71, main_~x~0=v_main_~x~0_35, main_~y~0=v_main_~y~0_39, main_~b~0=v_main_~b~0_53, main_~p~0=v_main_~p~0_44, main_#t~post6=|v_main_#t~post6_52|, main_~a~0=v_main_~a~0_83} AuxVars[] AssignedVars[main_~q~0, ~counter~0, main_~b~0, main_#t~post6] {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L290 TraceCheckUtils]: 11: Hoare triple {4142#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0; {4142#true} is VALID [2022-04-28 07:22:08,952 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4142#true} {4142#true} #69#return; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 9: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 8: Hoare triple {4142#true} assume !(0 == ~cond); {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 7: Hoare triple {4142#true} ~cond := #in~cond; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L272 TraceCheckUtils]: 6: Hoare triple {4142#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 5: Hoare triple {4142#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L272 TraceCheckUtils]: 4: Hoare triple {4142#true} call #t~ret7 := main(); {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4142#true} {4142#true} #77#return; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {4142#true} assume true; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {4142#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);~counter~0 := 0; {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L272 TraceCheckUtils]: 0: Hoare triple {4142#true} call ULTIMATE.init(); {4142#true} is VALID [2022-04-28 07:22:08,953 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 07:22:08,953 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:22:08,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [460259297] [2022-04-28 07:22:08,953 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:22:08,953 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [534975198] [2022-04-28 07:22:08,954 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [534975198] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:22:08,954 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:22:08,954 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 8] total 15 [2022-04-28 07:22:15,876 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:22:15,877 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1517476757] [2022-04-28 07:22:15,877 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1517476757] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:22:15,877 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:22:15,877 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 07:22:15,877 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [20016312] [2022-04-28 07:22:15,877 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:22:15,877 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 1.25) internal successors, (25), 17 states have internal predecessors, (25), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 35 [2022-04-28 07:22:15,877 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:22:15,878 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 1.25) internal successors, (25), 17 states have internal predecessors, (25), 4 states have call successors, (6), 3 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:22:17,910 WARN L143 InductivityCheck]: Transition 4373#(and (= (mod (+ main_~b~0 1) 2) 1) (= (mod main_~a~0 2) 0) (<= 0 (+ main_~b~0 1)) (= (+ main_~q~0 (* main_~b~0 main_~a~0 main_~p~0)) (* main_~y~0 main_~x~0)) (not (= main_~a~0 0)) (< ~counter~0 3)) ( _ , #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; , 4183#(and (<= 1 main_~p~0) (<= 1 main_~y~0)) ) not inductive [2022-04-28 07:22:17,927 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 07:22:18,111 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 07:22:18,111 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: inductivity failed at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.evaluateResult(InductivityCheck.java:145) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.checkInductivity(InductivityCheck.java:103) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.(InductivityCheck.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.constructInterpolantAutomaton(BasicCegarLoop.java:335) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.constructRefinementAutomaton(AbstractCegarLoop.java:564) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:437) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:409) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:300) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-28 07:22:18,115 INFO L158 Benchmark]: Toolchain (without parser) took 246993.55ms. Allocated memory was 219.2MB in the beginning and 263.2MB in the end (delta: 44.0MB). Free memory was 171.4MB in the beginning and 193.7MB in the end (delta: -22.3MB). Peak memory consumption was 22.8MB. Max. memory is 8.0GB. [2022-04-28 07:22:18,116 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 219.2MB. Free memory was 187.5MB in the beginning and 187.3MB in the end (delta: 143.3kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 07:22:18,116 INFO L158 Benchmark]: CACSL2BoogieTranslator took 182.94ms. Allocated memory is still 219.2MB. Free memory was 171.2MB in the beginning and 196.3MB in the end (delta: -25.2MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-28 07:22:18,116 INFO L158 Benchmark]: Boogie Preprocessor took 31.58ms. Allocated memory is still 219.2MB. Free memory was 196.3MB in the beginning and 194.2MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 07:22:18,116 INFO L158 Benchmark]: RCFGBuilder took 312.44ms. Allocated memory is still 219.2MB. Free memory was 194.2MB in the beginning and 180.6MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-28 07:22:18,116 INFO L158 Benchmark]: TraceAbstraction took 246456.86ms. Allocated memory was 219.2MB in the beginning and 263.2MB in the end (delta: 44.0MB). Free memory was 180.1MB in the beginning and 194.2MB in the end (delta: -14.2MB). Peak memory consumption was 31.7MB. Max. memory is 8.0GB. [2022-04-28 07:22:18,117 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 219.2MB. Free memory was 187.5MB in the beginning and 187.3MB in the end (delta: 143.3kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 182.94ms. Allocated memory is still 219.2MB. Free memory was 171.2MB in the beginning and 196.3MB in the end (delta: -25.2MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 31.58ms. Allocated memory is still 219.2MB. Free memory was 196.3MB in the beginning and 194.2MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 312.44ms. Allocated memory is still 219.2MB. Free memory was 194.2MB in the beginning and 180.6MB in the end (delta: 13.6MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * TraceAbstraction took 246456.86ms. Allocated memory was 219.2MB in the beginning and 263.2MB in the end (delta: 44.0MB). Free memory was 180.1MB in the beginning and 194.2MB in the end (delta: -14.2MB). Peak memory consumption was 31.7MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: inductivity failed de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: inductivity failed: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.evaluateResult(InductivityCheck.java:145) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-28 07:22:18,154 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...