/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/prodbin-ll_unwindbound100.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 07:24:38,707 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 07:24:38,721 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 07:24:38,769 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 07:24:38,769 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 07:24:38,771 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 07:24:38,773 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 07:24:38,775 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 07:24:38,777 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 07:24:38,781 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 07:24:38,782 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 07:24:38,783 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 07:24:38,784 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 07:24:38,786 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 07:24:38,787 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 07:24:38,789 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 07:24:38,790 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 07:24:38,790 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 07:24:38,792 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 07:24:38,797 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 07:24:38,799 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 07:24:38,800 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 07:24:38,800 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 07:24:38,801 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 07:24:38,802 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 07:24:38,808 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 07:24:38,809 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 07:24:38,809 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 07:24:38,810 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 07:24:38,810 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 07:24:38,811 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 07:24:38,811 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 07:24:38,813 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 07:24:38,813 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 07:24:38,814 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 07:24:38,814 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 07:24:38,815 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 07:24:38,815 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 07:24:38,815 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 07:24:38,815 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 07:24:38,816 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 07:24:38,817 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 07:24:38,818 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:24:38,829 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 07:24:38,830 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 07:24:38,831 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 07:24:38,831 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 07:24:38,831 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 07:24:38,831 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 07:24:38,832 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 07:24:38,832 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 07:24:38,832 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 07:24:38,832 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 07:24:38,833 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 07:24:38,833 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:24:38,834 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 07:24:38,834 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 07:24:38,834 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:24:39,083 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 07:24:39,104 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 07:24:39,106 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 07:24:39,107 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 07:24:39,108 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 07:24:39,109 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-28 07:24:39,158 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d5d4f5506/7f7a743cc6024ef29fd8a40ff9bac4bb/FLAG2a9cb327b [2022-04-28 07:24:39,519 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 07:24:39,520 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c [2022-04-28 07:24:39,526 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d5d4f5506/7f7a743cc6024ef29fd8a40ff9bac4bb/FLAG2a9cb327b [2022-04-28 07:24:39,540 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d5d4f5506/7f7a743cc6024ef29fd8a40ff9bac4bb [2022-04-28 07:24:39,543 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 07:24:39,544 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 07:24:39,547 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 07:24:39,547 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 07:24:39,550 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 07:24:39,551 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,552 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6dd368f3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39, skipping insertion in model container [2022-04-28 07:24:39,552 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,558 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 07:24:39,569 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 07:24:39,726 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c[537,550] [2022-04-28 07:24:39,754 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:24:39,761 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 07:24:39,773 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_unwindbound100.c[537,550] [2022-04-28 07:24:39,789 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 07:24:39,800 INFO L208 MainTranslator]: Completed translation [2022-04-28 07:24:39,800 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39 WrapperNode [2022-04-28 07:24:39,801 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 07:24:39,802 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 07:24:39,802 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 07:24:39,802 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 07:24:39,811 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,812 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,818 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,818 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,831 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,836 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,840 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,843 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 07:24:39,844 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 07:24:39,844 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 07:24:39,844 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 07:24:39,845 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (1/1) ... [2022-04-28 07:24:39,850 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 07:24:39,859 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:39,872 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:24:39,898 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:24:39,918 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 07:24:39,918 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 07:24:39,919 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 07:24:39,919 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 07:24:39,919 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 07:24:39,919 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 07:24:39,919 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 07:24:39,919 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 07:24:39,919 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 07:24:39,920 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 07:24:39,920 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 07:24:39,920 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 07:24:39,921 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 07:24:39,922 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 07:24:39,981 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 07:24:39,983 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 07:24:40,137 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 07:24:40,143 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 07:24:40,143 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-28 07:24:40,144 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:24:40 BoogieIcfgContainer [2022-04-28 07:24:40,144 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 07:24:40,145 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 07:24:40,146 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 07:24:40,165 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 07:24:40,165 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 07:24:39" (1/3) ... [2022-04-28 07:24:40,166 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2f90aad6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:24:40, skipping insertion in model container [2022-04-28 07:24:40,166 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 07:24:39" (2/3) ... [2022-04-28 07:24:40,167 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2f90aad6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 07:24:40, skipping insertion in model container [2022-04-28 07:24:40,167 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 07:24:40" (3/3) ... [2022-04-28 07:24:40,168 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_unwindbound100.c [2022-04-28 07:24:40,200 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 07:24:40,201 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 07:24:40,252 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 07:24:40,257 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@449747fb, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@1588454c [2022-04-28 07:24:40,257 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 07:24:40,272 INFO L276 IsEmpty]: Start isEmpty. Operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:24:40,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-28 07:24:40,277 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:40,278 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:24:40,279 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:40,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:40,287 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 1 times [2022-04-28 07:24:40,293 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:40,294 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1124496194] [2022-04-28 07:24:40,306 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:40,307 INFO L85 PathProgramCache]: Analyzing trace with hash -1523633710, now seen corresponding path program 2 times [2022-04-28 07:24:40,309 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:40,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1768978349] [2022-04-28 07:24:40,310 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:40,311 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:40,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:40,496 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 07:24:40,508 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:40,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {42#(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; {33#true} is VALID [2022-04-28 07:24:40,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 07:24:40,534 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-28 07:24:40,535 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 07:24:40,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:40,549 INFO L290 TraceCheckUtils]: 0: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:24:40,551 INFO L290 TraceCheckUtils]: 1: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:24:40,551 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:24:40,551 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 07:24:40,553 INFO L272 TraceCheckUtils]: 0: Hoare triple {33#true} call ULTIMATE.init(); {42#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 07:24:40,553 INFO L290 TraceCheckUtils]: 1: Hoare triple {42#(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; {33#true} is VALID [2022-04-28 07:24:40,553 INFO L290 TraceCheckUtils]: 2: Hoare triple {33#true} assume true; {33#true} is VALID [2022-04-28 07:24:40,554 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {33#true} {33#true} #65#return; {33#true} is VALID [2022-04-28 07:24:40,554 INFO L272 TraceCheckUtils]: 4: Hoare triple {33#true} call #t~ret7 := main(); {33#true} is VALID [2022-04-28 07:24:40,554 INFO L290 TraceCheckUtils]: 5: Hoare triple {33#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {33#true} is VALID [2022-04-28 07:24:40,554 INFO L272 TraceCheckUtils]: 6: Hoare triple {33#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {33#true} is VALID [2022-04-28 07:24:40,555 INFO L290 TraceCheckUtils]: 7: Hoare triple {33#true} ~cond := #in~cond; {33#true} is VALID [2022-04-28 07:24:40,559 INFO L290 TraceCheckUtils]: 8: Hoare triple {33#true} assume 0 == ~cond;assume false; {34#false} is VALID [2022-04-28 07:24:40,559 INFO L290 TraceCheckUtils]: 9: Hoare triple {34#false} assume true; {34#false} is VALID [2022-04-28 07:24:40,559 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34#false} {33#true} #59#return; {34#false} is VALID [2022-04-28 07:24:40,559 INFO L290 TraceCheckUtils]: 11: Hoare triple {34#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {34#false} is VALID [2022-04-28 07:24:40,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {34#false} assume !true; {34#false} is VALID [2022-04-28 07:24:40,560 INFO L272 TraceCheckUtils]: 13: Hoare triple {34#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {34#false} is VALID [2022-04-28 07:24:40,560 INFO L290 TraceCheckUtils]: 14: Hoare triple {34#false} ~cond := #in~cond; {34#false} is VALID [2022-04-28 07:24:40,560 INFO L290 TraceCheckUtils]: 15: Hoare triple {34#false} assume 0 == ~cond; {34#false} is VALID [2022-04-28 07:24:40,561 INFO L290 TraceCheckUtils]: 16: Hoare triple {34#false} assume !false; {34#false} is VALID [2022-04-28 07:24:40,561 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:24:40,561 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:40,562 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1768978349] [2022-04-28 07:24:40,562 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1768978349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:40,562 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:40,563 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:24:40,566 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:40,566 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1124496194] [2022-04-28 07:24:40,567 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1124496194] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:40,567 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:40,567 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 07:24:40,567 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1993211594] [2022-04-28 07:24:40,568 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:40,573 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:24:40,574 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:40,577 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:24:40,608 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:24:40,608 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 07:24:40,609 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:40,627 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 07:24:40,628 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 07:24:40,632 INFO L87 Difference]: Start difference. First operand has 30 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 5 states have call successors, (5), 4 states have call predecessors, (5), 4 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) 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:24:40,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:40,784 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-28 07:24:40,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 07:24:40,787 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:24:40,788 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:40,790 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:24:40,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-28 07:24:40,798 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:24:40,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 66 transitions. [2022-04-28 07:24:40,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 66 transitions. [2022-04-28 07:24:40,880 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:40,887 INFO L225 Difference]: With dead ends: 52 [2022-04-28 07:24:40,887 INFO L226 Difference]: Without dead ends: 26 [2022-04-28 07:24:40,890 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:24:40,892 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 15 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 15 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:40,893 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 35 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 15 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:24:40,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-28 07:24:40,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 25. [2022-04-28 07:24:40,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:40,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:40,935 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:40,935 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:40,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:40,939 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-28 07:24:40,939 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-28 07:24:40,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:40,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:40,940 INFO L74 IsIncluded]: Start isIncluded. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-28 07:24:40,940 INFO L87 Difference]: Start difference. First operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 26 states. [2022-04-28 07:24:40,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:40,943 INFO L93 Difference]: Finished difference Result 26 states and 29 transitions. [2022-04-28 07:24:40,943 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 29 transitions. [2022-04-28 07:24:40,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:40,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:40,944 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:40,944 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:40,944 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:40,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2022-04-28 07:24:40,947 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 17 [2022-04-28 07:24:40,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:40,948 INFO L495 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2022-04-28 07:24:40,948 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:24:40,949 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 25 states and 28 transitions. [2022-04-28 07:24:40,980 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:24:40,981 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2022-04-28 07:24:40,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 07:24:40,981 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:40,982 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:24:40,982 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 07:24:40,982 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:40,983 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:40,983 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 1 times [2022-04-28 07:24:40,983 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:40,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [121957258] [2022-04-28 07:24:40,986 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:40,986 INFO L85 PathProgramCache]: Analyzing trace with hash -991958694, now seen corresponding path program 2 times [2022-04-28 07:24:40,986 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:40,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1374490269] [2022-04-28 07:24:40,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:40,991 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:41,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:41,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2093424826] [2022-04-28 07:24:41,021 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:41,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:41,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:41,023 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:24:41,024 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:24:41,072 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:24:41,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:41,074 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 07:24:41,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:41,086 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:41,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {251#true} call ULTIMATE.init(); {251#true} is VALID [2022-04-28 07:24:41,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {251#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; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {259#(<= ~counter~0 0)} assume true; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {259#(<= ~counter~0 0)} {251#true} #65#return; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {259#(<= ~counter~0 0)} call #t~ret7 := main(); {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {259#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {259#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {259#(<= ~counter~0 0)} ~cond := #in~cond; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {259#(<= ~counter~0 0)} assume !(0 == ~cond); {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {259#(<= ~counter~0 0)} assume true; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,235 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {259#(<= ~counter~0 0)} {259#(<= ~counter~0 0)} #59#return; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {259#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {259#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:41,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {259#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {293#(<= |main_#t~post6| 0)} is VALID [2022-04-28 07:24:41,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {293#(<= |main_#t~post6| 0)} assume !(#t~post6 < 100);havoc #t~post6; {252#false} is VALID [2022-04-28 07:24:41,237 INFO L272 TraceCheckUtils]: 14: Hoare triple {252#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {252#false} is VALID [2022-04-28 07:24:41,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2022-04-28 07:24:41,239 INFO L290 TraceCheckUtils]: 16: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2022-04-28 07:24:41,239 INFO L290 TraceCheckUtils]: 17: Hoare triple {252#false} assume !false; {252#false} is VALID [2022-04-28 07:24:41,239 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:24:41,239 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:24:41,240 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:41,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1374490269] [2022-04-28 07:24:41,240 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:41,240 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2093424826] [2022-04-28 07:24:41,241 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2093424826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:41,242 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:41,242 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:24:41,243 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:41,243 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [121957258] [2022-04-28 07:24:41,243 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [121957258] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:41,243 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:41,243 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 07:24:41,243 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1444174891] [2022-04-28 07:24:41,244 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:41,246 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:24:41,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:41,247 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:24:41,266 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:24:41,267 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 07:24:41,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:41,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 07:24:41,268 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 07:24:41,269 INFO L87 Difference]: Start difference. First operand 25 states and 28 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:24:41,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:41,338 INFO L93 Difference]: Finished difference Result 34 states and 37 transitions. [2022-04-28 07:24:41,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-28 07:24:41,339 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:24:41,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:41,340 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:24:41,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-28 07:24:41,352 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:24:41,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 37 transitions. [2022-04-28 07:24:41,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 37 transitions. [2022-04-28 07:24:41,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:41,387 INFO L225 Difference]: With dead ends: 34 [2022-04-28 07:24:41,387 INFO L226 Difference]: Without dead ends: 27 [2022-04-28 07:24:41,388 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:24:41,390 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 0 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 66 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:24:41,394 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 66 Invalid, 7 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:24:41,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-28 07:24:41,410 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-28 07:24:41,410 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:41,411 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:41,411 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:41,412 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:41,415 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:41,415 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 07:24:41,415 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 07:24:41,416 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:41,416 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:41,416 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 07:24:41,418 INFO L87 Difference]: Start difference. First operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand 27 states. [2022-04-28 07:24:41,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:41,422 INFO L93 Difference]: Finished difference Result 27 states and 30 transitions. [2022-04-28 07:24:41,422 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 07:24:41,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:41,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:41,423 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:41,423 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:41,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 18 states have (on average 1.2222222222222223) internal successors, (22), 19 states have internal predecessors, (22), 5 states have call successors, (5), 4 states have call predecessors, (5), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-28 07:24:41,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 30 transitions. [2022-04-28 07:24:41,430 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 30 transitions. Word has length 18 [2022-04-28 07:24:41,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:41,431 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 30 transitions. [2022-04-28 07:24:41,431 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:24:41,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 27 states and 30 transitions. [2022-04-28 07:24:41,459 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:24:41,462 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 30 transitions. [2022-04-28 07:24:41,464 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-28 07:24:41,469 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:41,469 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:24:41,499 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:24:41,691 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:24:41,692 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:41,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:41,692 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 1 times [2022-04-28 07:24:41,692 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:41,693 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [430006473] [2022-04-28 07:24:41,693 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:41,693 INFO L85 PathProgramCache]: Analyzing trace with hash -990171234, now seen corresponding path program 2 times [2022-04-28 07:24:41,693 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:41,694 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [549578803] [2022-04-28 07:24:41,694 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:41,694 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:41,711 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:41,711 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2052452473] [2022-04-28 07:24:41,711 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:41,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:41,712 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:41,713 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:24:41,731 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:24:41,765 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 07:24:41,766 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:41,767 INFO L263 TraceCheckSpWp]: Trace formula consists of 84 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-28 07:24:41,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:41,778 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:41,926 INFO L272 TraceCheckUtils]: 0: Hoare triple {484#true} call ULTIMATE.init(); {484#true} is VALID [2022-04-28 07:24:41,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {484#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; {484#true} is VALID [2022-04-28 07:24:41,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {484#true} assume true; {484#true} is VALID [2022-04-28 07:24:41,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {484#true} {484#true} #65#return; {484#true} is VALID [2022-04-28 07:24:41,928 INFO L272 TraceCheckUtils]: 4: Hoare triple {484#true} call #t~ret7 := main(); {484#true} is VALID [2022-04-28 07:24:41,928 INFO L290 TraceCheckUtils]: 5: Hoare triple {484#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {484#true} is VALID [2022-04-28 07:24:41,931 INFO L272 TraceCheckUtils]: 6: Hoare triple {484#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {484#true} is VALID [2022-04-28 07:24:41,932 INFO L290 TraceCheckUtils]: 7: Hoare triple {484#true} ~cond := #in~cond; {484#true} is VALID [2022-04-28 07:24:41,932 INFO L290 TraceCheckUtils]: 8: Hoare triple {484#true} assume !(0 == ~cond); {484#true} is VALID [2022-04-28 07:24:41,933 INFO L290 TraceCheckUtils]: 9: Hoare triple {484#true} assume true; {484#true} is VALID [2022-04-28 07:24:41,934 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {484#true} {484#true} #59#return; {484#true} is VALID [2022-04-28 07:24:41,935 INFO L290 TraceCheckUtils]: 11: Hoare triple {484#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:41,936 INFO L290 TraceCheckUtils]: 12: Hoare triple {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:41,937 INFO L290 TraceCheckUtils]: 13: Hoare triple {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:41,938 INFO L272 TraceCheckUtils]: 14: Hoare triple {522#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {532#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:41,938 INFO L290 TraceCheckUtils]: 15: Hoare triple {532#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {536#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:41,939 INFO L290 TraceCheckUtils]: 16: Hoare triple {536#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {485#false} is VALID [2022-04-28 07:24:41,939 INFO L290 TraceCheckUtils]: 17: Hoare triple {485#false} assume !false; {485#false} is VALID [2022-04-28 07:24:41,939 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:24:41,939 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:24:41,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:41,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [549578803] [2022-04-28 07:24:41,941 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:41,941 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2052452473] [2022-04-28 07:24:41,941 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2052452473] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:41,941 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:41,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:41,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:41,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [430006473] [2022-04-28 07:24:41,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [430006473] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:41,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:41,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:41,942 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1558740343] [2022-04-28 07:24:41,942 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:41,943 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:24:41,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:41,943 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:24:41,957 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:24:41,957 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:24:41,958 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:41,958 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:24:41,958 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 07:24:41,958 INFO L87 Difference]: Start difference. First operand 27 states and 30 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:24:42,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,109 INFO L93 Difference]: Finished difference Result 38 states and 43 transitions. [2022-04-28 07:24:42,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 07:24:42,110 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:24:42,110 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:42,110 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:24:42,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 07:24:42,112 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:24:42,113 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-04-28 07:24:42,113 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-04-28 07:24:42,147 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:42,149 INFO L225 Difference]: With dead ends: 38 [2022-04-28 07:24:42,149 INFO L226 Difference]: Without dead ends: 36 [2022-04-28 07:24:42,149 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:24:42,150 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 8 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:42,151 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 75 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:24:42,151 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-28 07:24:42,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 32. [2022-04-28 07:24:42,166 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:42,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,166 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,166 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,169 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:24:42,169 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:24:42,169 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:42,169 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:42,169 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-28 07:24:42,170 INFO L87 Difference]: Start difference. First operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Second operand 36 states. [2022-04-28 07:24:42,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,171 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-28 07:24:42,172 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-28 07:24:42,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:42,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:42,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:42,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:42,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 21 states have (on average 1.1904761904761905) internal successors, (25), 23 states have internal predecessors, (25), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 35 transitions. [2022-04-28 07:24:42,174 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 35 transitions. Word has length 18 [2022-04-28 07:24:42,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:42,174 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 35 transitions. [2022-04-28 07:24:42,174 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:24:42,174 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 35 transitions. [2022-04-28 07:24:42,205 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:24:42,206 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 35 transitions. [2022-04-28 07:24:42,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2022-04-28 07:24:42,207 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:42,207 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:24:42,230 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:24:42,429 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:24:42,430 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:42,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:42,430 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 1 times [2022-04-28 07:24:42,430 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:42,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [855395763] [2022-04-28 07:24:42,431 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 07:24:42,431 INFO L85 PathProgramCache]: Analyzing trace with hash 1094479982, now seen corresponding path program 2 times [2022-04-28 07:24:42,431 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:42,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1778686657] [2022-04-28 07:24:42,431 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:42,432 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:42,445 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:42,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1271503425] [2022-04-28 07:24:42,445 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:42,445 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:42,445 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:42,446 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:24:42,448 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:24:42,492 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:42,492 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:42,492 INFO L263 TraceCheckSpWp]: Trace formula consists of 95 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:24:42,502 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:42,503 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:42,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {756#true} call ULTIMATE.init(); {756#true} is VALID [2022-04-28 07:24:42,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {756#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; {756#true} is VALID [2022-04-28 07:24:42,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {756#true} assume true; {756#true} is VALID [2022-04-28 07:24:42,609 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {756#true} {756#true} #65#return; {756#true} is VALID [2022-04-28 07:24:42,609 INFO L272 TraceCheckUtils]: 4: Hoare triple {756#true} call #t~ret7 := main(); {756#true} is VALID [2022-04-28 07:24:42,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {756#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {756#true} is VALID [2022-04-28 07:24:42,610 INFO L272 TraceCheckUtils]: 6: Hoare triple {756#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {756#true} is VALID [2022-04-28 07:24:42,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {756#true} ~cond := #in~cond; {782#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:42,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {782#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {786#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:42,611 INFO L290 TraceCheckUtils]: 9: Hoare triple {786#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {786#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:42,612 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {786#(not (= |assume_abort_if_not_#in~cond| 0))} {756#true} #59#return; {793#(<= 1 main_~b~0)} is VALID [2022-04-28 07:24:42,612 INFO L290 TraceCheckUtils]: 11: Hoare triple {793#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 07:24:42,612 INFO L290 TraceCheckUtils]: 12: Hoare triple {797#(<= 1 main_~y~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 07:24:42,613 INFO L290 TraceCheckUtils]: 13: Hoare triple {797#(<= 1 main_~y~0)} assume !!(#t~post6 < 100);havoc #t~post6; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 07:24:42,613 INFO L272 TraceCheckUtils]: 14: Hoare triple {797#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {756#true} is VALID [2022-04-28 07:24:42,613 INFO L290 TraceCheckUtils]: 15: Hoare triple {756#true} ~cond := #in~cond; {756#true} is VALID [2022-04-28 07:24:42,613 INFO L290 TraceCheckUtils]: 16: Hoare triple {756#true} assume !(0 == ~cond); {756#true} is VALID [2022-04-28 07:24:42,613 INFO L290 TraceCheckUtils]: 17: Hoare triple {756#true} assume true; {756#true} is VALID [2022-04-28 07:24:42,614 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {756#true} {797#(<= 1 main_~y~0)} #61#return; {797#(<= 1 main_~y~0)} is VALID [2022-04-28 07:24:42,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {797#(<= 1 main_~y~0)} assume !(0 != ~y~0); {757#false} is VALID [2022-04-28 07:24:42,615 INFO L272 TraceCheckUtils]: 20: Hoare triple {757#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {757#false} is VALID [2022-04-28 07:24:42,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {757#false} ~cond := #in~cond; {757#false} is VALID [2022-04-28 07:24:42,615 INFO L290 TraceCheckUtils]: 22: Hoare triple {757#false} assume 0 == ~cond; {757#false} is VALID [2022-04-28 07:24:42,615 INFO L290 TraceCheckUtils]: 23: Hoare triple {757#false} assume !false; {757#false} is VALID [2022-04-28 07:24:42,616 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:24:42,616 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 07:24:42,616 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:42,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1778686657] [2022-04-28 07:24:42,616 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:42,616 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1271503425] [2022-04-28 07:24:42,616 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1271503425] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:42,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:42,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:24:42,617 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:42,617 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [855395763] [2022-04-28 07:24:42,617 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [855395763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:42,617 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:42,617 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:24:42,617 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [198066309] [2022-04-28 07:24:42,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:42,618 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 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:24:42,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:42,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:24:42,636 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:42,636 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:24:42,636 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:42,637 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:24:42,637 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 07:24:42,637 INFO L87 Difference]: Start difference. First operand 32 states and 35 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:24:42,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,789 INFO L93 Difference]: Finished difference Result 42 states and 46 transitions. [2022-04-28 07:24:42,789 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:24:42,789 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 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:24:42,789 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:42,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:24:42,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-28 07:24:42,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:24:42,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 43 transitions. [2022-04-28 07:24:42,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 43 transitions. [2022-04-28 07:24:42,825 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:42,826 INFO L225 Difference]: With dead ends: 42 [2022-04-28 07:24:42,826 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 07:24:42,827 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 07:24:42,828 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 17 mSDsluCounter, 63 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 85 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:42,828 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 85 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:24:42,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 07:24:42,855 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 33. [2022-04-28 07:24:42,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:42,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,855 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,856 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,857 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 07:24:42,857 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 07:24:42,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:42,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:42,858 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-28 07:24:42,858 INFO L87 Difference]: Start difference. First operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 35 states. [2022-04-28 07:24:42,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:42,860 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2022-04-28 07:24:42,860 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-04-28 07:24:42,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:42,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:42,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:42,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:42,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:42,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2022-04-28 07:24:42,863 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 24 [2022-04-28 07:24:42,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:42,863 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2022-04-28 07:24:42,863 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (3), 3 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-28 07:24:42,863 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 36 transitions. [2022-04-28 07:24:42,895 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:42,896 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2022-04-28 07:24:42,896 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:24:42,896 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:42,896 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, 1] [2022-04-28 07:24:42,917 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 07:24:43,111 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:24:43,112 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:43,112 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:43,112 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 1 times [2022-04-28 07:24:43,112 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:43,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [185868259] [2022-04-28 07:24:47,242 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:24:47,243 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:24:47,243 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:24:47,243 INFO L85 PathProgramCache]: Analyzing trace with hash 584619061, now seen corresponding path program 2 times [2022-04-28 07:24:47,243 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:47,243 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1753626412] [2022-04-28 07:24:47,243 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:47,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:47,264 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:47,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [783665230] [2022-04-28 07:24:47,264 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:47,264 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:47,264 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:47,265 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:24:47,320 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:24:47,342 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:47,343 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:47,343 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 07:24:47,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:47,355 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:47,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {1057#true} call ULTIMATE.init(); {1057#true} is VALID [2022-04-28 07:24:47,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {1057#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; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {1065#(<= ~counter~0 0)} assume true; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1065#(<= ~counter~0 0)} {1057#true} #65#return; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {1065#(<= ~counter~0 0)} call #t~ret7 := main(); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,513 INFO L290 TraceCheckUtils]: 5: Hoare triple {1065#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,513 INFO L272 TraceCheckUtils]: 6: Hoare triple {1065#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {1065#(<= ~counter~0 0)} ~cond := #in~cond; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {1065#(<= ~counter~0 0)} assume !(0 == ~cond); {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,514 INFO L290 TraceCheckUtils]: 9: Hoare triple {1065#(<= ~counter~0 0)} assume true; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,515 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1065#(<= ~counter~0 0)} {1065#(<= ~counter~0 0)} #59#return; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,515 INFO L290 TraceCheckUtils]: 11: Hoare triple {1065#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1065#(<= ~counter~0 0)} is VALID [2022-04-28 07:24:47,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {1065#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {1099#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,517 INFO L272 TraceCheckUtils]: 14: Hoare triple {1099#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,517 INFO L290 TraceCheckUtils]: 15: Hoare triple {1099#(<= ~counter~0 1)} ~cond := #in~cond; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,518 INFO L290 TraceCheckUtils]: 16: Hoare triple {1099#(<= ~counter~0 1)} assume !(0 == ~cond); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,518 INFO L290 TraceCheckUtils]: 17: Hoare triple {1099#(<= ~counter~0 1)} assume true; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,524 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1099#(<= ~counter~0 1)} {1099#(<= ~counter~0 1)} #61#return; {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,524 INFO L290 TraceCheckUtils]: 19: Hoare triple {1099#(<= ~counter~0 1)} assume !!(0 != ~y~0); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,524 INFO L290 TraceCheckUtils]: 20: Hoare triple {1099#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,525 INFO L290 TraceCheckUtils]: 21: Hoare triple {1099#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1099#(<= ~counter~0 1)} is VALID [2022-04-28 07:24:47,525 INFO L290 TraceCheckUtils]: 22: Hoare triple {1099#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1130#(<= |main_#t~post6| 1)} is VALID [2022-04-28 07:24:47,526 INFO L290 TraceCheckUtils]: 23: Hoare triple {1130#(<= |main_#t~post6| 1)} assume !(#t~post6 < 100);havoc #t~post6; {1058#false} is VALID [2022-04-28 07:24:47,526 INFO L272 TraceCheckUtils]: 24: Hoare triple {1058#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1058#false} is VALID [2022-04-28 07:24:47,526 INFO L290 TraceCheckUtils]: 25: Hoare triple {1058#false} ~cond := #in~cond; {1058#false} is VALID [2022-04-28 07:24:47,526 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#false} assume 0 == ~cond; {1058#false} is VALID [2022-04-28 07:24:47,526 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#false} assume !false; {1058#false} is VALID [2022-04-28 07:24:47,526 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:24:47,527 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:24:47,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {1058#false} assume !false; {1058#false} is VALID [2022-04-28 07:24:47,683 INFO L290 TraceCheckUtils]: 26: Hoare triple {1058#false} assume 0 == ~cond; {1058#false} is VALID [2022-04-28 07:24:47,683 INFO L290 TraceCheckUtils]: 25: Hoare triple {1058#false} ~cond := #in~cond; {1058#false} is VALID [2022-04-28 07:24:47,683 INFO L272 TraceCheckUtils]: 24: Hoare triple {1058#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1058#false} is VALID [2022-04-28 07:24:47,684 INFO L290 TraceCheckUtils]: 23: Hoare triple {1158#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {1058#false} is VALID [2022-04-28 07:24:47,692 INFO L290 TraceCheckUtils]: 22: Hoare triple {1162#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1158#(< |main_#t~post6| 100)} is VALID [2022-04-28 07:24:47,692 INFO L290 TraceCheckUtils]: 21: Hoare triple {1162#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,693 INFO L290 TraceCheckUtils]: 20: Hoare triple {1162#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,693 INFO L290 TraceCheckUtils]: 19: Hoare triple {1162#(< ~counter~0 100)} assume !!(0 != ~y~0); {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,694 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1057#true} {1162#(< ~counter~0 100)} #61#return; {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,694 INFO L290 TraceCheckUtils]: 17: Hoare triple {1057#true} assume true; {1057#true} is VALID [2022-04-28 07:24:47,694 INFO L290 TraceCheckUtils]: 16: Hoare triple {1057#true} assume !(0 == ~cond); {1057#true} is VALID [2022-04-28 07:24:47,694 INFO L290 TraceCheckUtils]: 15: Hoare triple {1057#true} ~cond := #in~cond; {1057#true} is VALID [2022-04-28 07:24:47,695 INFO L272 TraceCheckUtils]: 14: Hoare triple {1162#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1057#true} is VALID [2022-04-28 07:24:47,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {1162#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,696 INFO L290 TraceCheckUtils]: 12: Hoare triple {1193#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1162#(< ~counter~0 100)} is VALID [2022-04-28 07:24:47,696 INFO L290 TraceCheckUtils]: 11: Hoare triple {1193#(< ~counter~0 99)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,697 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1057#true} {1193#(< ~counter~0 99)} #59#return; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,697 INFO L290 TraceCheckUtils]: 9: Hoare triple {1057#true} assume true; {1057#true} is VALID [2022-04-28 07:24:47,697 INFO L290 TraceCheckUtils]: 8: Hoare triple {1057#true} assume !(0 == ~cond); {1057#true} is VALID [2022-04-28 07:24:47,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {1057#true} ~cond := #in~cond; {1057#true} is VALID [2022-04-28 07:24:47,697 INFO L272 TraceCheckUtils]: 6: Hoare triple {1193#(< ~counter~0 99)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1057#true} is VALID [2022-04-28 07:24:47,698 INFO L290 TraceCheckUtils]: 5: Hoare triple {1193#(< ~counter~0 99)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {1193#(< ~counter~0 99)} call #t~ret7 := main(); {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1193#(< ~counter~0 99)} {1057#true} #65#return; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,699 INFO L290 TraceCheckUtils]: 2: Hoare triple {1193#(< ~counter~0 99)} assume true; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,700 INFO L290 TraceCheckUtils]: 1: Hoare triple {1057#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; {1193#(< ~counter~0 99)} is VALID [2022-04-28 07:24:47,700 INFO L272 TraceCheckUtils]: 0: Hoare triple {1057#true} call ULTIMATE.init(); {1057#true} is VALID [2022-04-28 07:24:47,700 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:24:47,700 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:24:47,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1753626412] [2022-04-28 07:24:47,700 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:24:47,700 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [783665230] [2022-04-28 07:24:47,700 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [783665230] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:24:47,701 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:24:47,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-28 07:24:47,701 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:24:47,701 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [185868259] [2022-04-28 07:24:47,701 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [185868259] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:24:47,701 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:24:47,701 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 07:24:47,701 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [38977116] [2022-04-28 07:24:47,701 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:24:47,702 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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 28 [2022-04-28 07:24:47,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:24:47,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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:24:47,725 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:24:47,725 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 07:24:47,725 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:47,726 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 07:24:47,726 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-28 07:24:47,726 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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:24:47,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,827 INFO L93 Difference]: Finished difference Result 44 states and 48 transitions. [2022-04-28 07:24:47,827 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 07:24:47,828 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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 28 [2022-04-28 07:24:47,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:24:47,828 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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:24:47,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-04-28 07:24:47,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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:24:47,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2022-04-28 07:24:47,831 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2022-04-28 07:24:47,866 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:47,867 INFO L225 Difference]: With dead ends: 44 [2022-04-28 07:24:47,867 INFO L226 Difference]: Without dead ends: 37 [2022-04-28 07:24:47,867 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 49 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-28 07:24:47,868 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 7 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 16 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:24:47,869 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 75 Invalid, 16 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:24:47,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-28 07:24:47,898 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 37. [2022-04-28 07:24:47,898 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:24:47,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:47,899 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:47,899 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:47,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,900 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 07:24:47,901 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 07:24:47,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:47,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:47,901 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 37 states. [2022-04-28 07:24:47,901 INFO L87 Difference]: Start difference. First operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) Second operand 37 states. [2022-04-28 07:24:47,903 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:24:47,903 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2022-04-28 07:24:47,903 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 07:24:47,903 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:24:47,903 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:24:47,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:24:47,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:24:47,904 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 26 states have (on average 1.1923076923076923) internal successors, (31), 27 states have internal predecessors, (31), 6 states have call successors, (6), 5 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:24:47,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 41 transitions. [2022-04-28 07:24:47,905 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 41 transitions. Word has length 28 [2022-04-28 07:24:47,905 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:24:47,905 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 41 transitions. [2022-04-28 07:24:47,905 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 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:24:47,905 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 41 transitions. [2022-04-28 07:24:47,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:24:47,942 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 41 transitions. [2022-04-28 07:24:47,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:24:47,942 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:24:47,942 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:24:47,967 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:24:48,156 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:24:48,157 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:24:48,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:24:48,157 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 1 times [2022-04-28 07:24:48,157 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:24:48,157 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1461057683] [2022-04-28 07:24:51,167 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:24:51,167 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:24:51,167 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:24:51,167 INFO L85 PathProgramCache]: Analyzing trace with hash 586406521, now seen corresponding path program 2 times [2022-04-28 07:24:51,167 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:24:51,167 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1673882324] [2022-04-28 07:24:51,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:24:51,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:24:51,181 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:24:51,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1874603144] [2022-04-28 07:24:51,181 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:24:51,181 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:24:51,181 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:24:51,184 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:24:51,189 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:24:51,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:24:51,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:24:51,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 104 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-28 07:24:51,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:24:51,267 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:24:53,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {1470#true} call ULTIMATE.init(); {1470#true} is VALID [2022-04-28 07:24:53,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#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; {1470#true} is VALID [2022-04-28 07:24:53,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#true} assume true; {1470#true} is VALID [2022-04-28 07:24:53,047 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#true} {1470#true} #65#return; {1470#true} is VALID [2022-04-28 07:24:53,047 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#true} call #t~ret7 := main(); {1470#true} is VALID [2022-04-28 07:24:53,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1470#true} is VALID [2022-04-28 07:24:53,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {1470#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1470#true} is VALID [2022-04-28 07:24:53,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#true} ~cond := #in~cond; {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:24:53,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {1496#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:53,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:24:53,050 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1470#true} #59#return; {1507#(<= 1 main_~b~0)} is VALID [2022-04-28 07:24:53,050 INFO L290 TraceCheckUtils]: 11: Hoare triple {1507#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,051 INFO L290 TraceCheckUtils]: 12: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,051 INFO L290 TraceCheckUtils]: 13: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,051 INFO L272 TraceCheckUtils]: 14: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1470#true} is VALID [2022-04-28 07:24:53,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {1470#true} ~cond := #in~cond; {1524#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:53,052 INFO L290 TraceCheckUtils]: 16: Hoare triple {1524#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:53,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:24:53,053 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {1511#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1541#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:24:53,056 INFO L290 TraceCheckUtils]: 21: Hoare triple {1541#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:53,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:53,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:24:53,059 INFO L272 TraceCheckUtils]: 24: Hoare triple {1545#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:24:53,060 INFO L290 TraceCheckUtils]: 25: Hoare triple {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1559#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:24:53,060 INFO L290 TraceCheckUtils]: 26: Hoare triple {1559#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1471#false} is VALID [2022-04-28 07:24:53,060 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-04-28 07:24:53,060 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:24:53,061 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:25:31,076 INFO L290 TraceCheckUtils]: 27: Hoare triple {1471#false} assume !false; {1471#false} is VALID [2022-04-28 07:25:31,077 INFO L290 TraceCheckUtils]: 26: Hoare triple {1559#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1471#false} is VALID [2022-04-28 07:25:31,078 INFO L290 TraceCheckUtils]: 25: Hoare triple {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1559#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:31,079 INFO L272 TraceCheckUtils]: 24: Hoare triple {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1555#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:31,079 INFO L290 TraceCheckUtils]: 23: Hoare triple {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:25:31,080 INFO L290 TraceCheckUtils]: 22: Hoare triple {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:25:31,086 INFO L290 TraceCheckUtils]: 21: Hoare triple {1585#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1575#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:25:31,087 INFO L290 TraceCheckUtils]: 20: Hoare triple {1589#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1585#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:25:31,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {1589#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {1589#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:25:31,091 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #61#return; {1589#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:25:31,091 INFO L290 TraceCheckUtils]: 17: Hoare triple {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:31,091 INFO L290 TraceCheckUtils]: 16: Hoare triple {1606#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {1528#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:31,092 INFO L290 TraceCheckUtils]: 15: Hoare triple {1470#true} ~cond := #in~cond; {1606#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:25:31,092 INFO L272 TraceCheckUtils]: 14: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1470#true} is VALID [2022-04-28 07:25:31,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:25:31,093 INFO L290 TraceCheckUtils]: 12: Hoare triple {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:25:31,094 INFO L290 TraceCheckUtils]: 11: Hoare triple {1619#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1596#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:25:31,095 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} {1470#true} #59#return; {1619#(or (= (* main_~b~0 main_~a~0) (* (* main_~a~0 2) (+ (div main_~b~0 2) 1))) (= (mod main_~b~0 2) 0) (<= 0 main_~b~0))} is VALID [2022-04-28 07:25:31,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {1500#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:31,096 INFO L290 TraceCheckUtils]: 8: Hoare triple {1632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1500#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:31,096 INFO L290 TraceCheckUtils]: 7: Hoare triple {1470#true} ~cond := #in~cond; {1632#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:25:31,096 INFO L272 TraceCheckUtils]: 6: Hoare triple {1470#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L290 TraceCheckUtils]: 5: Hoare triple {1470#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L272 TraceCheckUtils]: 4: Hoare triple {1470#true} call #t~ret7 := main(); {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1470#true} {1470#true} #65#return; {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {1470#true} assume true; {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L290 TraceCheckUtils]: 1: Hoare triple {1470#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; {1470#true} is VALID [2022-04-28 07:25:31,097 INFO L272 TraceCheckUtils]: 0: Hoare triple {1470#true} call ULTIMATE.init(); {1470#true} is VALID [2022-04-28 07:25:31,098 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:25:31,098 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:25:31,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1673882324] [2022-04-28 07:25:31,098 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:25:31,098 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1874603144] [2022-04-28 07:25:31,098 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1874603144] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:25:31,098 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:25:31,098 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 19 [2022-04-28 07:25:31,099 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:25:31,099 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1461057683] [2022-04-28 07:25:31,099 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1461057683] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:25:31,099 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:25:31,099 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:25:31,099 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1242275539] [2022-04-28 07:25:31,099 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:25:31,100 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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 28 [2022-04-28 07:25:31,100 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:25:31,100 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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:25:31,127 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:25:31,128 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:25:31,128 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:25:31,128 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:25:31,128 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=280, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:25:31,129 INFO L87 Difference]: Start difference. First operand 37 states and 41 transitions. Second operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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:25:31,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:31,743 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 07:25:31,743 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:25:31,743 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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 28 [2022-04-28 07:25:31,744 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:25:31,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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:25:31,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:25:31,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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:25:31,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 55 transitions. [2022-04-28 07:25:31,748 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 55 transitions. [2022-04-28 07:25:31,798 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:31,800 INFO L225 Difference]: With dead ends: 55 [2022-04-28 07:25:31,800 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 07:25:31,800 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 36 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 76 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=80, Invalid=382, Unknown=0, NotChecked=0, Total=462 [2022-04-28 07:25:31,801 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 34 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 147 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 156 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 147 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:25:31,801 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 114 Invalid, 156 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 147 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 07:25:31,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 07:25:31,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 46. [2022-04-28 07:25:31,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:25:31,842 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:25:31,843 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:25:31,843 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:25:31,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:31,845 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 07:25:31,845 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 07:25:31,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:31,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:31,845 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-04-28 07:25:31,846 INFO L87 Difference]: Start difference. First operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 48 states. [2022-04-28 07:25:31,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:25:31,847 INFO L93 Difference]: Finished difference Result 48 states and 53 transitions. [2022-04-28 07:25:31,847 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-04-28 07:25:31,848 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:25:31,848 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:25:31,848 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:25:31,848 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:25:31,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 33 states have (on average 1.1515151515151516) internal successors, (38), 34 states have internal predecessors, (38), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:25:31,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-28 07:25:31,850 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 28 [2022-04-28 07:25:31,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:25:31,850 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-28 07:25:31,850 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.6666666666666667) internal successors, (20), 10 states have internal predecessors, (20), 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:25:31,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 50 transitions. [2022-04-28 07:25:31,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:25:31,903 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-28 07:25:31,903 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-28 07:25:31,904 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:25:31,904 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:25:31,921 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:25:32,104 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:25:32,104 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:25:32,105 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:25:32,105 INFO L85 PathProgramCache]: Analyzing trace with hash 1395753147, now seen corresponding path program 1 times [2022-04-28 07:25:32,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:25:32,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [976135356] [2022-04-28 07:25:34,194 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:25:34,195 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:25:34,195 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:25:34,195 INFO L85 PathProgramCache]: Analyzing trace with hash 1395753147, now seen corresponding path program 2 times [2022-04-28 07:25:34,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:25:34,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514990984] [2022-04-28 07:25:34,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:25:34,195 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:25:34,207 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:25:34,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [790912118] [2022-04-28 07:25:34,208 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:25:34,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:25:34,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:25:34,212 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:25:34,216 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:25:34,265 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:25:34,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:25:34,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-28 07:25:34,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:25:34,281 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:25:35,945 INFO L272 TraceCheckUtils]: 0: Hoare triple {1960#true} call ULTIMATE.init(); {1960#true} is VALID [2022-04-28 07:25:35,945 INFO L290 TraceCheckUtils]: 1: Hoare triple {1960#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; {1960#true} is VALID [2022-04-28 07:25:35,945 INFO L290 TraceCheckUtils]: 2: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 07:25:35,945 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1960#true} {1960#true} #65#return; {1960#true} is VALID [2022-04-28 07:25:35,945 INFO L272 TraceCheckUtils]: 4: Hoare triple {1960#true} call #t~ret7 := main(); {1960#true} is VALID [2022-04-28 07:25:35,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {1960#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1960#true} is VALID [2022-04-28 07:25:35,946 INFO L272 TraceCheckUtils]: 6: Hoare triple {1960#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1960#true} is VALID [2022-04-28 07:25:35,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {1960#true} ~cond := #in~cond; {1986#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:25:35,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {1986#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1990#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:35,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {1990#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1990#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:25:35,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1990#(not (= |assume_abort_if_not_#in~cond| 0))} {1960#true} #59#return; {1997#(<= 1 main_~b~0)} is VALID [2022-04-28 07:25:35,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {1997#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,950 INFO L272 TraceCheckUtils]: 14: Hoare triple {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1960#true} is VALID [2022-04-28 07:25:35,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {1960#true} ~cond := #in~cond; {2014#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:35,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {2014#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:35,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:25:35,952 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} {2001#(and (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {2025#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,952 INFO L290 TraceCheckUtils]: 19: Hoare triple {2025#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {2025#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,953 INFO L290 TraceCheckUtils]: 20: Hoare triple {2025#(and (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2032#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:25:35,954 INFO L290 TraceCheckUtils]: 21: Hoare triple {2032#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= (+ main_~z~0 (* main_~b~0 main_~x~0)) (+ main_~x~0 (* main_~b~0 main_~a~0))) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:25:35,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:25:35,956 INFO L290 TraceCheckUtils]: 23: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:25:36,135 INFO L272 TraceCheckUtils]: 24: Hoare triple {2036#(and (= (+ main_~z~0 (* main_~b~0 main_~a~0)) (+ main_~a~0 (* main_~b~0 main_~a~0))) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 1 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:25:36,135 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:25:36,136 INFO L290 TraceCheckUtils]: 26: Hoare triple {2050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1961#false} is VALID [2022-04-28 07:25:36,136 INFO L290 TraceCheckUtils]: 27: Hoare triple {1961#false} assume !false; {1961#false} is VALID [2022-04-28 07:25:36,136 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:25:36,136 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:26:43,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {1961#false} assume !false; {1961#false} is VALID [2022-04-28 07:26:43,891 INFO L290 TraceCheckUtils]: 26: Hoare triple {2050#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1961#false} is VALID [2022-04-28 07:26:43,892 INFO L290 TraceCheckUtils]: 25: Hoare triple {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2050#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:26:43,893 INFO L272 TraceCheckUtils]: 24: Hoare triple {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2046#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:26:43,893 INFO L290 TraceCheckUtils]: 23: Hoare triple {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:26:43,894 INFO L290 TraceCheckUtils]: 22: Hoare triple {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:26:43,917 INFO L290 TraceCheckUtils]: 21: Hoare triple {2076#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2066#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:26:43,920 INFO L290 TraceCheckUtils]: 20: Hoare triple {2080#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2076#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:26:43,921 INFO L290 TraceCheckUtils]: 19: Hoare triple {2080#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {2080#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:26:44,188 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} {1960#true} #61#return; {2080#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:26:44,189 INFO L290 TraceCheckUtils]: 17: Hoare triple {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:44,189 INFO L290 TraceCheckUtils]: 16: Hoare triple {2096#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2018#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:26:44,189 INFO L290 TraceCheckUtils]: 15: Hoare triple {1960#true} ~cond := #in~cond; {2096#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:26:44,189 INFO L272 TraceCheckUtils]: 14: Hoare triple {1960#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {1960#true} assume !!(#t~post6 < 100);havoc #t~post6; {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 12: Hoare triple {1960#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 11: Hoare triple {1960#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1960#true} {1960#true} #59#return; {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {1960#true} assume !(0 == ~cond); {1960#true} is VALID [2022-04-28 07:26:44,190 INFO L290 TraceCheckUtils]: 7: Hoare triple {1960#true} ~cond := #in~cond; {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L272 TraceCheckUtils]: 6: Hoare triple {1960#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L290 TraceCheckUtils]: 5: Hoare triple {1960#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L272 TraceCheckUtils]: 4: Hoare triple {1960#true} call #t~ret7 := main(); {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1960#true} {1960#true} #65#return; {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {1960#true} assume true; {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L290 TraceCheckUtils]: 1: Hoare triple {1960#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; {1960#true} is VALID [2022-04-28 07:26:44,191 INFO L272 TraceCheckUtils]: 0: Hoare triple {1960#true} call ULTIMATE.init(); {1960#true} is VALID [2022-04-28 07:26:44,192 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:26:44,192 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:26:44,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514990984] [2022-04-28 07:26:44,192 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:26:44,192 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [790912118] [2022-04-28 07:26:44,192 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [790912118] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:26:44,192 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:26:44,192 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 07:26:44,193 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:26:44,193 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [976135356] [2022-04-28 07:26:44,193 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [976135356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:26:44,193 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:26:44,193 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:26:44,193 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772683400] [2022-04-28 07:26:44,193 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:26:44,194 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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 28 [2022-04-28 07:26:44,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:26:44,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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:26:44,714 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:26:44,714 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:26:44,714 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:44,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:26:44,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 07:26:44,715 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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:26:53,227 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.23s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:26:56,337 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:26:56,865 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:56,866 INFO L93 Difference]: Finished difference Result 57 states and 63 transitions. [2022-04-28 07:26:56,866 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:26:56,866 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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 28 [2022-04-28 07:26:56,866 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:26:56,866 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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:26:56,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 07:26:56,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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:26:56,869 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 52 transitions. [2022-04-28 07:26:56,870 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 52 transitions. [2022-04-28 07:26:57,119 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:57,120 INFO L225 Difference]: With dead ends: 57 [2022-04-28 07:26:57,120 INFO L226 Difference]: Without dead ends: 55 [2022-04-28 07:26:57,121 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 3.0s TimeCoverageRelationStatistics Valid=65, Invalid=315, Unknown=0, NotChecked=0, Total=380 [2022-04-28 07:26:57,121 INFO L413 NwaCegarLoop]: 19 mSDtfsCounter, 30 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 215 mSolverCounterSat, 9 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 142 SdHoareTripleChecker+Invalid, 225 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 215 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:26:57,121 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 142 Invalid, 225 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 215 Invalid, 1 Unknown, 0 Unchecked, 5.4s Time] [2022-04-28 07:26:57,122 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-28 07:26:57,168 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 51. [2022-04-28 07:26:57,168 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:26:57,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:26:57,169 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:26:57,169 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:26:57,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:57,171 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 07:26:57,171 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 07:26:57,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:57,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:57,172 INFO L74 IsIncluded]: Start isIncluded. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 55 states. [2022-04-28 07:26:57,172 INFO L87 Difference]: Start difference. First operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 55 states. [2022-04-28 07:26:57,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:26:57,174 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-04-28 07:26:57,174 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-04-28 07:26:57,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:26:57,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:26:57,174 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:26:57,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:26:57,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 51 states, 36 states have (on average 1.1388888888888888) internal successors, (41), 38 states have internal predecessors, (41), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:26:57,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 55 transitions. [2022-04-28 07:26:57,176 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 55 transitions. Word has length 28 [2022-04-28 07:26:57,177 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:26:57,177 INFO L495 AbstractCegarLoop]: Abstraction has 51 states and 55 transitions. [2022-04-28 07:26:57,177 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 1.5384615384615385) internal successors, (20), 11 states have internal predecessors, (20), 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:26:57,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 51 states and 55 transitions. [2022-04-28 07:26:59,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 54 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:26:59,242 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 55 transitions. [2022-04-28 07:26:59,242 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 07:26:59,242 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:26:59,242 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] [2022-04-28 07:26:59,258 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:26:59,447 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:26:59,448 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:26:59,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:26:59,448 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 1 times [2022-04-28 07:26:59,448 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:26:59,448 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2038353930] [2022-04-28 07:27:01,388 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:27:01,388 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:27:01,388 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:27:01,388 INFO L85 PathProgramCache]: Analyzing trace with hash -1513703477, now seen corresponding path program 2 times [2022-04-28 07:27:01,399 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:01,399 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1692980171] [2022-04-28 07:27:01,399 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:01,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:01,411 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:01,411 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [750800443] [2022-04-28 07:27:01,411 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:27:01,411 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:01,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:01,422 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:27:01,430 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:27:01,465 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:27:01,465 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:01,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 120 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-28 07:27:01,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:01,475 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:09,630 INFO L272 TraceCheckUtils]: 0: Hoare triple {2476#true} call ULTIMATE.init(); {2476#true} is VALID [2022-04-28 07:27:09,630 INFO L290 TraceCheckUtils]: 1: Hoare triple {2476#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; {2476#true} is VALID [2022-04-28 07:27:09,630 INFO L290 TraceCheckUtils]: 2: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:09,630 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2476#true} {2476#true} #65#return; {2476#true} is VALID [2022-04-28 07:27:09,630 INFO L272 TraceCheckUtils]: 4: Hoare triple {2476#true} call #t~ret7 := main(); {2476#true} is VALID [2022-04-28 07:27:09,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {2476#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L272 TraceCheckUtils]: 6: Hoare triple {2476#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2476#true} {2476#true} #59#return; {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L290 TraceCheckUtils]: 11: Hoare triple {2476#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2476#true} is VALID [2022-04-28 07:27:09,631 INFO L290 TraceCheckUtils]: 12: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {2476#true} assume !!(#t~post6 < 100);havoc #t~post6; {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L272 TraceCheckUtils]: 14: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 15: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 16: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 17: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2476#true} {2476#true} #61#return; {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 19: Hoare triple {2476#true} assume !!(0 != ~y~0); {2476#true} is VALID [2022-04-28 07:27:09,632 INFO L290 TraceCheckUtils]: 20: Hoare triple {2476#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2476#true} is VALID [2022-04-28 07:27:09,633 INFO L290 TraceCheckUtils]: 21: Hoare triple {2476#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2476#true} is VALID [2022-04-28 07:27:09,633 INFO L290 TraceCheckUtils]: 22: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 07:27:09,633 INFO L290 TraceCheckUtils]: 23: Hoare triple {2476#true} assume !!(#t~post6 < 100);havoc #t~post6; {2476#true} is VALID [2022-04-28 07:27:09,633 INFO L272 TraceCheckUtils]: 24: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:09,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {2476#true} ~cond := #in~cond; {2556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:09,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {2556#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:09,634 INFO L290 TraceCheckUtils]: 27: Hoare triple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:11,636 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} {2476#true} #61#return; {2567#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} is UNKNOWN [2022-04-28 07:27:11,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {2567#(or (and (not (= main_~y~0 0)) (= (mod (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) main_~y~0) 0)) (= (+ (* (- 1) main_~z~0) (* main_~b~0 main_~a~0)) 0))} assume !(0 != ~y~0); {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:27:11,637 INFO L272 TraceCheckUtils]: 30: Hoare triple {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:11,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:11,638 INFO L290 TraceCheckUtils]: 32: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2477#false} is VALID [2022-04-28 07:27:11,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {2477#false} assume !false; {2477#false} is VALID [2022-04-28 07:27:11,639 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:27:11,639 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:27:20,999 INFO L290 TraceCheckUtils]: 33: Hoare triple {2477#false} assume !false; {2477#false} is VALID [2022-04-28 07:27:21,000 INFO L290 TraceCheckUtils]: 32: Hoare triple {2579#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2477#false} is VALID [2022-04-28 07:27:21,001 INFO L290 TraceCheckUtils]: 31: Hoare triple {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2579#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:21,001 INFO L272 TraceCheckUtils]: 30: Hoare triple {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2575#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:21,002 INFO L290 TraceCheckUtils]: 29: Hoare triple {2598#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2571#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:27:21,003 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} {2476#true} #61#return; {2598#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:27:21,003 INFO L290 TraceCheckUtils]: 27: Hoare triple {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:21,003 INFO L290 TraceCheckUtils]: 26: Hoare triple {2611#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2560#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:27:21,004 INFO L290 TraceCheckUtils]: 25: Hoare triple {2476#true} ~cond := #in~cond; {2611#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:27:21,004 INFO L272 TraceCheckUtils]: 24: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:21,004 INFO L290 TraceCheckUtils]: 23: Hoare triple {2476#true} assume !!(#t~post6 < 100);havoc #t~post6; {2476#true} is VALID [2022-04-28 07:27:21,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 07:27:21,005 INFO L290 TraceCheckUtils]: 21: Hoare triple {2476#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2476#true} is VALID [2022-04-28 07:27:21,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {2476#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {2476#true} is VALID [2022-04-28 07:27:21,006 INFO L290 TraceCheckUtils]: 19: Hoare triple {2476#true} assume !!(0 != ~y~0); {2476#true} is VALID [2022-04-28 07:27:21,006 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2476#true} {2476#true} #61#return; {2476#true} is VALID [2022-04-28 07:27:21,006 INFO L290 TraceCheckUtils]: 17: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L290 TraceCheckUtils]: 16: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L290 TraceCheckUtils]: 15: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L272 TraceCheckUtils]: 14: Hoare triple {2476#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L290 TraceCheckUtils]: 13: Hoare triple {2476#true} assume !!(#t~post6 < 100);havoc #t~post6; {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L290 TraceCheckUtils]: 12: Hoare triple {2476#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {2476#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2476#true} is VALID [2022-04-28 07:27:21,007 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2476#true} {2476#true} #59#return; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 8: Hoare triple {2476#true} assume !(0 == ~cond); {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 7: Hoare triple {2476#true} ~cond := #in~cond; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L272 TraceCheckUtils]: 6: Hoare triple {2476#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {2476#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L272 TraceCheckUtils]: 4: Hoare triple {2476#true} call #t~ret7 := main(); {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2476#true} {2476#true} #65#return; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {2476#true} assume true; {2476#true} is VALID [2022-04-28 07:27:21,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {2476#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; {2476#true} is VALID [2022-04-28 07:27:21,009 INFO L272 TraceCheckUtils]: 0: Hoare triple {2476#true} call ULTIMATE.init(); {2476#true} is VALID [2022-04-28 07:27:21,009 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:27:21,010 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:21,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1692980171] [2022-04-28 07:27:21,010 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:21,010 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [750800443] [2022-04-28 07:27:21,010 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [750800443] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:27:21,010 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:27:21,010 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-28 07:27:21,010 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:21,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2038353930] [2022-04-28 07:27:21,011 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2038353930] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:21,011 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:21,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 07:27:21,012 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [517389979] [2022-04-28 07:27:21,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:21,013 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 34 [2022-04-28 07:27:21,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:21,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:23,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 30 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:23,059 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 07:27:23,059 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:23,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 07:27:23,059 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:27:23,059 INFO L87 Difference]: Start difference. First operand 51 states and 55 transitions. Second operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:25,096 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:27:25,730 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:25,730 INFO L93 Difference]: Finished difference Result 59 states and 62 transitions. [2022-04-28 07:27:25,731 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:27:25,731 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) Word has length 34 [2022-04-28 07:27:25,731 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:25,731 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:25,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 07:27:25,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:25,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 35 transitions. [2022-04-28 07:27:25,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 35 transitions. [2022-04-28 07:27:27,762 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 34 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:27,763 INFO L225 Difference]: With dead ends: 59 [2022-04-28 07:27:27,763 INFO L226 Difference]: Without dead ends: 52 [2022-04-28 07:27:27,764 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 69 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=95, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:27:27,764 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 12 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 1 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:27,764 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 103 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 62 Invalid, 1 Unknown, 0 Unchecked, 2.3s Time] [2022-04-28 07:27:27,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-28 07:27:27,810 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 42. [2022-04-28 07:27:27,811 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:27,811 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:27,811 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:27,811 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:27,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:27,813 INFO L93 Difference]: Finished difference Result 52 states and 55 transitions. [2022-04-28 07:27:27,813 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 55 transitions. [2022-04-28 07:27:27,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:27,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:27,814 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 52 states. [2022-04-28 07:27:27,814 INFO L87 Difference]: Start difference. First operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Second operand 52 states. [2022-04-28 07:27:27,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:27,815 INFO L93 Difference]: Finished difference Result 52 states and 55 transitions. [2022-04-28 07:27:27,816 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 55 transitions. [2022-04-28 07:27:27,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:27,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:27,816 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:27,816 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:27,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 31 states have internal predecessors, (33), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:27,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 45 transitions. [2022-04-28 07:27:27,817 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 45 transitions. Word has length 34 [2022-04-28 07:27:27,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:27,818 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 45 transitions. [2022-04-28 07:27:27,818 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 2 states have call successors, (5), 2 states have call predecessors, (5), 2 states have return successors, (4), 2 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-28 07:27:27,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 45 transitions. [2022-04-28 07:27:34,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 42 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:34,070 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 45 transitions. [2022-04-28 07:27:34,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:27:34,071 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:34,071 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:34,087 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:27:34,271 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:27:34,271 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:34,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:34,272 INFO L85 PathProgramCache]: Analyzing trace with hash -1456887472, now seen corresponding path program 3 times [2022-04-28 07:27:34,272 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:34,272 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2028987643] [2022-04-28 07:27:36,330 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:27:36,330 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:27:36,330 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:27:36,330 INFO L85 PathProgramCache]: Analyzing trace with hash -1456887472, now seen corresponding path program 4 times [2022-04-28 07:27:36,331 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:36,331 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1987112566] [2022-04-28 07:27:36,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:36,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:36,348 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:36,349 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1502589690] [2022-04-28 07:27:36,349 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:27:36,349 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:36,349 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:36,357 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:27:36,386 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:27:36,412 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:27:36,412 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:36,413 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 07:27:36,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:36,431 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:36,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {2999#true} call ULTIMATE.init(); {2999#true} is VALID [2022-04-28 07:27:36,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {2999#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; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {3007#(<= ~counter~0 0)} assume true; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3007#(<= ~counter~0 0)} {2999#true} #65#return; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,624 INFO L272 TraceCheckUtils]: 4: Hoare triple {3007#(<= ~counter~0 0)} call #t~ret7 := main(); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,624 INFO L290 TraceCheckUtils]: 5: Hoare triple {3007#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,624 INFO L272 TraceCheckUtils]: 6: Hoare triple {3007#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,625 INFO L290 TraceCheckUtils]: 7: Hoare triple {3007#(<= ~counter~0 0)} ~cond := #in~cond; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,625 INFO L290 TraceCheckUtils]: 8: Hoare triple {3007#(<= ~counter~0 0)} assume !(0 == ~cond); {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {3007#(<= ~counter~0 0)} assume true; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,626 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3007#(<= ~counter~0 0)} {3007#(<= ~counter~0 0)} #59#return; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {3007#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3007#(<= ~counter~0 0)} is VALID [2022-04-28 07:27:36,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {3007#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {3041#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,627 INFO L272 TraceCheckUtils]: 14: Hoare triple {3041#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,628 INFO L290 TraceCheckUtils]: 15: Hoare triple {3041#(<= ~counter~0 1)} ~cond := #in~cond; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {3041#(<= ~counter~0 1)} assume !(0 == ~cond); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {3041#(<= ~counter~0 1)} assume true; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,629 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3041#(<= ~counter~0 1)} {3041#(<= ~counter~0 1)} #61#return; {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {3041#(<= ~counter~0 1)} assume !!(0 != ~y~0); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {3041#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,630 INFO L290 TraceCheckUtils]: 21: Hoare triple {3041#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3041#(<= ~counter~0 1)} is VALID [2022-04-28 07:27:36,630 INFO L290 TraceCheckUtils]: 22: Hoare triple {3041#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,630 INFO L290 TraceCheckUtils]: 23: Hoare triple {3072#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,631 INFO L272 TraceCheckUtils]: 24: Hoare triple {3072#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,631 INFO L290 TraceCheckUtils]: 25: Hoare triple {3072#(<= ~counter~0 2)} ~cond := #in~cond; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,632 INFO L290 TraceCheckUtils]: 26: Hoare triple {3072#(<= ~counter~0 2)} assume !(0 == ~cond); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,632 INFO L290 TraceCheckUtils]: 27: Hoare triple {3072#(<= ~counter~0 2)} assume true; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,632 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3072#(<= ~counter~0 2)} {3072#(<= ~counter~0 2)} #61#return; {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,633 INFO L290 TraceCheckUtils]: 29: Hoare triple {3072#(<= ~counter~0 2)} assume !!(0 != ~y~0); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,633 INFO L290 TraceCheckUtils]: 30: Hoare triple {3072#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,633 INFO L290 TraceCheckUtils]: 31: Hoare triple {3072#(<= ~counter~0 2)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3072#(<= ~counter~0 2)} is VALID [2022-04-28 07:27:36,634 INFO L290 TraceCheckUtils]: 32: Hoare triple {3072#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3103#(<= |main_#t~post6| 2)} is VALID [2022-04-28 07:27:36,634 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#(<= |main_#t~post6| 2)} assume !(#t~post6 < 100);havoc #t~post6; {3000#false} is VALID [2022-04-28 07:27:36,634 INFO L272 TraceCheckUtils]: 34: Hoare triple {3000#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3000#false} is VALID [2022-04-28 07:27:36,634 INFO L290 TraceCheckUtils]: 35: Hoare triple {3000#false} ~cond := #in~cond; {3000#false} is VALID [2022-04-28 07:27:36,634 INFO L290 TraceCheckUtils]: 36: Hoare triple {3000#false} assume 0 == ~cond; {3000#false} is VALID [2022-04-28 07:27:36,634 INFO L290 TraceCheckUtils]: 37: Hoare triple {3000#false} assume !false; {3000#false} is VALID [2022-04-28 07:27:36,634 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 14 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:27:36,635 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:27:36,810 INFO L290 TraceCheckUtils]: 37: Hoare triple {3000#false} assume !false; {3000#false} is VALID [2022-04-28 07:27:36,810 INFO L290 TraceCheckUtils]: 36: Hoare triple {3000#false} assume 0 == ~cond; {3000#false} is VALID [2022-04-28 07:27:36,810 INFO L290 TraceCheckUtils]: 35: Hoare triple {3000#false} ~cond := #in~cond; {3000#false} is VALID [2022-04-28 07:27:36,811 INFO L272 TraceCheckUtils]: 34: Hoare triple {3000#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {3000#false} is VALID [2022-04-28 07:27:36,811 INFO L290 TraceCheckUtils]: 33: Hoare triple {3131#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {3000#false} is VALID [2022-04-28 07:27:36,812 INFO L290 TraceCheckUtils]: 32: Hoare triple {3135#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3131#(< |main_#t~post6| 100)} is VALID [2022-04-28 07:27:36,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {3135#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {3135#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,813 INFO L290 TraceCheckUtils]: 29: Hoare triple {3135#(< ~counter~0 100)} assume !!(0 != ~y~0); {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,813 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2999#true} {3135#(< ~counter~0 100)} #61#return; {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 07:27:36,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 07:27:36,814 INFO L290 TraceCheckUtils]: 25: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 07:27:36,814 INFO L272 TraceCheckUtils]: 24: Hoare triple {3135#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2999#true} is VALID [2022-04-28 07:27:36,814 INFO L290 TraceCheckUtils]: 23: Hoare triple {3135#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,815 INFO L290 TraceCheckUtils]: 22: Hoare triple {3166#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3135#(< ~counter~0 100)} is VALID [2022-04-28 07:27:36,815 INFO L290 TraceCheckUtils]: 21: Hoare triple {3166#(< ~counter~0 99)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,816 INFO L290 TraceCheckUtils]: 20: Hoare triple {3166#(< ~counter~0 99)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,816 INFO L290 TraceCheckUtils]: 19: Hoare triple {3166#(< ~counter~0 99)} assume !!(0 != ~y~0); {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,817 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2999#true} {3166#(< ~counter~0 99)} #61#return; {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,817 INFO L290 TraceCheckUtils]: 17: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 07:27:36,817 INFO L290 TraceCheckUtils]: 16: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 07:27:36,817 INFO L290 TraceCheckUtils]: 15: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 07:27:36,817 INFO L272 TraceCheckUtils]: 14: Hoare triple {3166#(< ~counter~0 99)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2999#true} is VALID [2022-04-28 07:27:36,818 INFO L290 TraceCheckUtils]: 13: Hoare triple {3166#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,818 INFO L290 TraceCheckUtils]: 12: Hoare triple {3197#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3166#(< ~counter~0 99)} is VALID [2022-04-28 07:27:36,818 INFO L290 TraceCheckUtils]: 11: Hoare triple {3197#(< ~counter~0 98)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2999#true} {3197#(< ~counter~0 98)} #59#return; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {2999#true} assume true; {2999#true} is VALID [2022-04-28 07:27:36,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {2999#true} assume !(0 == ~cond); {2999#true} is VALID [2022-04-28 07:27:36,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {2999#true} ~cond := #in~cond; {2999#true} is VALID [2022-04-28 07:27:36,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {3197#(< ~counter~0 98)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2999#true} is VALID [2022-04-28 07:27:36,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {3197#(< ~counter~0 98)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,820 INFO L272 TraceCheckUtils]: 4: Hoare triple {3197#(< ~counter~0 98)} call #t~ret7 := main(); {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,820 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3197#(< ~counter~0 98)} {2999#true} #65#return; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,820 INFO L290 TraceCheckUtils]: 2: Hoare triple {3197#(< ~counter~0 98)} assume true; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {2999#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; {3197#(< ~counter~0 98)} is VALID [2022-04-28 07:27:36,821 INFO L272 TraceCheckUtils]: 0: Hoare triple {2999#true} call ULTIMATE.init(); {2999#true} is VALID [2022-04-28 07:27:36,821 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 4 proven. 10 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:27:36,821 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:27:36,821 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1987112566] [2022-04-28 07:27:36,821 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:27:36,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1502589690] [2022-04-28 07:27:36,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1502589690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:27:36,822 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:27:36,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-28 07:27:36,822 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:27:36,822 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2028987643] [2022-04-28 07:27:36,822 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2028987643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:27:36,822 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:27:36,822 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 07:27:36,822 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1933164207] [2022-04-28 07:27:36,823 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:27:36,823 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 38 [2022-04-28 07:27:36,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:27:36,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:27:36,848 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:36,848 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 07:27:36,848 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:36,848 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 07:27:36,848 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-28 07:27:36,848 INFO L87 Difference]: Start difference. First operand 42 states and 45 transitions. Second operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:27:36,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:36,997 INFO L93 Difference]: Finished difference Result 54 states and 58 transitions. [2022-04-28 07:27:36,997 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 07:27:36,999 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) Word has length 38 [2022-04-28 07:27:36,999 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:27:36,999 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:27:37,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 07:27:37,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:27:37,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 07:27:37,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 07:27:37,049 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:37,051 INFO L225 Difference]: With dead ends: 54 [2022-04-28 07:27:37,051 INFO L226 Difference]: Without dead ends: 47 [2022-04-28 07:27:37,051 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:27:37,053 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 60 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 26 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:27:37,053 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 87 Invalid, 26 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:27:37,054 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-28 07:27:37,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-04-28 07:27:37,105 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:27:37,105 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:37,106 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:37,106 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:37,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:37,107 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 07:27:37,107 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:27:37,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:37,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:37,108 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-04-28 07:27:37,108 INFO L87 Difference]: Start difference. First operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 47 states. [2022-04-28 07:27:37,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:27:37,109 INFO L93 Difference]: Finished difference Result 47 states and 51 transitions. [2022-04-28 07:27:37,110 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:27:37,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:27:37,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:27:37,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:27:37,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:27:37,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 34 states have (on average 1.1470588235294117) internal successors, (39), 35 states have internal predecessors, (39), 7 states have call successors, (7), 6 states have call predecessors, (7), 5 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-28 07:27:37,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 51 transitions. [2022-04-28 07:27:37,112 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 51 transitions. Word has length 38 [2022-04-28 07:27:37,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:27:37,112 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 51 transitions. [2022-04-28 07:27:37,112 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.666666666666667) internal successors, (28), 5 states have internal predecessors, (28), 5 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (4), 3 states have call predecessors, (4), 4 states have call successors, (4) [2022-04-28 07:27:37,112 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 47 states and 51 transitions. [2022-04-28 07:27:43,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 48 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-28 07:27:43,586 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 51 transitions. [2022-04-28 07:27:43,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:27:43,586 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:27:43,586 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:27:43,603 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 07:27:43,787 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:27:43,787 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:27:43,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:27:43,787 INFO L85 PathProgramCache]: Analyzing trace with hash -1455100012, now seen corresponding path program 3 times [2022-04-28 07:27:43,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:27:43,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2116294630] [2022-04-28 07:27:46,074 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:27:46,074 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:27:46,074 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:27:46,074 INFO L85 PathProgramCache]: Analyzing trace with hash -1455100012, now seen corresponding path program 4 times [2022-04-28 07:27:46,074 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:27:46,075 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1108299594] [2022-04-28 07:27:46,075 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:27:46,075 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:27:46,086 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:27:46,087 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [454751850] [2022-04-28 07:27:46,087 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:27:46,087 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:27:46,087 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:27:46,092 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:27:46,116 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:27:46,138 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:27:46,138 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:27:46,139 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 24 conjunts are in the unsatisfiable core [2022-04-28 07:27:46,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:27:46,152 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:27:53,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {3536#true} call ULTIMATE.init(); {3536#true} is VALID [2022-04-28 07:27:53,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {3536#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; {3536#true} is VALID [2022-04-28 07:27:53,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:27:53,225 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3536#true} {3536#true} #65#return; {3536#true} is VALID [2022-04-28 07:27:53,226 INFO L272 TraceCheckUtils]: 4: Hoare triple {3536#true} call #t~ret7 := main(); {3536#true} is VALID [2022-04-28 07:27:53,226 INFO L290 TraceCheckUtils]: 5: Hoare triple {3536#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3536#true} is VALID [2022-04-28 07:27:53,226 INFO L272 TraceCheckUtils]: 6: Hoare triple {3536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:27:53,226 INFO L290 TraceCheckUtils]: 7: Hoare triple {3536#true} ~cond := #in~cond; {3562#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:27:53,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {3562#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:53,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:27:53,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} {3536#true} #59#return; {3573#(<= 1 main_~b~0)} is VALID [2022-04-28 07:27:53,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {3573#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,229 INFO L290 TraceCheckUtils]: 12: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,230 INFO L272 TraceCheckUtils]: 14: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:27:53,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 07:27:53,230 INFO L290 TraceCheckUtils]: 16: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 07:27:53,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:27:53,231 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3536#true} {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,231 INFO L290 TraceCheckUtils]: 19: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,232 INFO L290 TraceCheckUtils]: 20: Hoare triple {3577#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3605#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:27:53,233 INFO L290 TraceCheckUtils]: 21: Hoare triple {3605#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,234 INFO L290 TraceCheckUtils]: 22: Hoare triple {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,234 INFO L290 TraceCheckUtils]: 23: Hoare triple {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,235 INFO L272 TraceCheckUtils]: 24: Hoare triple {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:27:53,235 INFO L290 TraceCheckUtils]: 25: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 07:27:53,235 INFO L290 TraceCheckUtils]: 26: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 07:27:53,235 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:27:53,236 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3536#true} {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,236 INFO L290 TraceCheckUtils]: 29: Hoare triple {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,237 INFO L290 TraceCheckUtils]: 30: Hoare triple {3609#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3637#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {3637#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,240 INFO L290 TraceCheckUtils]: 33: Hoare triple {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:27:53,243 INFO L272 TraceCheckUtils]: 34: Hoare triple {3641#(and (= main_~z~0 0) (= (* main_~a~0 4) main_~x~0) (not (= (mod (div main_~b~0 2) 2) 1)) (= main_~y~0 (div (div main_~b~0 2) 2)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:27:53,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:27:53,244 INFO L290 TraceCheckUtils]: 36: Hoare triple {3655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3537#false} is VALID [2022-04-28 07:27:53,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {3537#false} assume !false; {3537#false} is VALID [2022-04-28 07:27:53,244 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:27:53,244 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:28:14,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {3537#false} assume !false; {3537#false} is VALID [2022-04-28 07:28:14,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {3655#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3537#false} is VALID [2022-04-28 07:28:14,261 INFO L290 TraceCheckUtils]: 35: Hoare triple {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3655#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:14,261 INFO L272 TraceCheckUtils]: 34: Hoare triple {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3651#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:14,262 INFO L290 TraceCheckUtils]: 33: Hoare triple {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:28:14,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:28:14,267 INFO L290 TraceCheckUtils]: 31: Hoare triple {3681#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3671#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:28:14,268 INFO L290 TraceCheckUtils]: 30: Hoare triple {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3681#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:28:14,268 INFO L290 TraceCheckUtils]: 29: Hoare triple {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:28:14,269 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3536#true} {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #61#return; {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:28:14,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:28:14,269 INFO L290 TraceCheckUtils]: 26: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 07:28:14,269 INFO L290 TraceCheckUtils]: 25: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 07:28:14,269 INFO L272 TraceCheckUtils]: 24: Hoare triple {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:28:14,269 INFO L290 TraceCheckUtils]: 23: Hoare triple {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(#t~post6 < 100);havoc #t~post6; {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:28:14,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:28:14,282 INFO L290 TraceCheckUtils]: 21: Hoare triple {3713#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {3685#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:28:14,283 INFO L290 TraceCheckUtils]: 20: Hoare triple {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3713#(and (or (not (< main_~y~0 0)) (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))))} is VALID [2022-04-28 07:28:14,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(0 != ~y~0); {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:28:14,285 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3536#true} {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #61#return; {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:28:14,285 INFO L290 TraceCheckUtils]: 17: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:28:14,285 INFO L290 TraceCheckUtils]: 16: Hoare triple {3536#true} assume !(0 == ~cond); {3536#true} is VALID [2022-04-28 07:28:14,285 INFO L290 TraceCheckUtils]: 15: Hoare triple {3536#true} ~cond := #in~cond; {3536#true} is VALID [2022-04-28 07:28:14,285 INFO L272 TraceCheckUtils]: 14: Hoare triple {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:28:14,286 INFO L290 TraceCheckUtils]: 13: Hoare triple {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:28:14,287 INFO L290 TraceCheckUtils]: 12: Hoare triple {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:28:14,290 INFO L290 TraceCheckUtils]: 11: Hoare triple {3745#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3717#(or (and (or (and (or (not (= (mod (+ (div main_~y~0 2) 1) 2) 0)) (= (+ main_~z~0 (* (* main_~x~0 4) (div (+ (div main_~y~0 2) 1) 2))) (* main_~b~0 main_~a~0))) (or (= (mod (+ (div main_~y~0 2) 1) 2) 0) (= (+ (* (* main_~x~0 4) (+ (div (+ (div main_~y~0 2) 1) 2) 1)) main_~z~0) (* main_~b~0 main_~a~0)))) (= (mod main_~y~0 2) 0)) (or (and (or (not (= (mod (div main_~y~0 2) 2) 0)) (= (+ main_~z~0 (* (div (div main_~y~0 2) 2) (* main_~x~0 4))) (* main_~b~0 main_~a~0))) (or (= (mod (div main_~y~0 2) 2) 0) (= (+ main_~z~0 (* (* main_~x~0 4) (+ (div (div main_~y~0 2) 2) 1))) (* main_~b~0 main_~a~0)))) (not (= (mod main_~y~0 2) 0)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))) (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)))} is VALID [2022-04-28 07:28:14,290 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} {3536#true} #59#return; {3745#(or (and (= (mod main_~b~0 2) 0) (= (mod (div main_~b~0 2) 2) 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:28:14,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {3566#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:14,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {3758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3566#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:14,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {3536#true} ~cond := #in~cond; {3758#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 07:28:14,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {3536#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {3536#true} is VALID [2022-04-28 07:28:14,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {3536#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {3536#true} is VALID [2022-04-28 07:28:14,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {3536#true} call #t~ret7 := main(); {3536#true} is VALID [2022-04-28 07:28:14,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3536#true} {3536#true} #65#return; {3536#true} is VALID [2022-04-28 07:28:14,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {3536#true} assume true; {3536#true} is VALID [2022-04-28 07:28:14,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {3536#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; {3536#true} is VALID [2022-04-28 07:28:14,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {3536#true} call ULTIMATE.init(); {3536#true} is VALID [2022-04-28 07:28:14,292 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 4 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:28:14,292 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:28:14,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1108299594] [2022-04-28 07:28:14,292 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:28:14,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [454751850] [2022-04-28 07:28:14,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [454751850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:28:14,293 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:28:14,293 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-28 07:28:14,293 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:28:14,293 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2116294630] [2022-04-28 07:28:14,293 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2116294630] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:28:14,293 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:28:14,293 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:28:14,293 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [935710247] [2022-04-28 07:28:14,293 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:28:14,294 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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 38 [2022-04-28 07:28:14,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:28:14,294 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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:28:14,322 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:28:14,322 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:28:14,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:14,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:28:14,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=271, Unknown=0, NotChecked=0, Total=342 [2022-04-28 07:28:14,323 INFO L87 Difference]: Start difference. First operand 47 states and 51 transitions. Second operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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:28:15,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,259 INFO L93 Difference]: Finished difference Result 70 states and 76 transitions. [2022-04-28 07:28:15,259 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:28:15,259 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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 38 [2022-04-28 07:28:15,260 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:28:15,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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:28:15,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:28:15,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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:28:15,263 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 56 transitions. [2022-04-28 07:28:15,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 56 transitions. [2022-04-28 07:28:15,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:15,317 INFO L225 Difference]: With dead ends: 70 [2022-04-28 07:28:15,317 INFO L226 Difference]: Without dead ends: 68 [2022-04-28 07:28:15,318 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=80, Invalid=340, Unknown=0, NotChecked=0, Total=420 [2022-04-28 07:28:15,318 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 26 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 228 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 167 SdHoareTripleChecker+Invalid, 235 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 228 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 07:28:15,318 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 167 Invalid, 235 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 228 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 07:28:15,319 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2022-04-28 07:28:15,390 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 65. [2022-04-28 07:28:15,390 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:28:15,390 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:15,390 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:15,391 INFO L87 Difference]: Start difference. First operand 68 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:15,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,393 INFO L93 Difference]: Finished difference Result 68 states and 74 transitions. [2022-04-28 07:28:15,393 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 74 transitions. [2022-04-28 07:28:15,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:15,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:15,394 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 68 states. [2022-04-28 07:28:15,394 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 68 states. [2022-04-28 07:28:15,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:28:15,395 INFO L93 Difference]: Finished difference Result 68 states and 74 transitions. [2022-04-28 07:28:15,395 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 74 transitions. [2022-04-28 07:28:15,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:28:15,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:28:15,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:28:15,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:28:15,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:28:15,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 07:28:15,397 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 07:28:15,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:28:15,398 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 07:28:15,398 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.0833333333333335) internal successors, (25), 10 states have internal predecessors, (25), 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:28:15,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 07:28:26,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:28:26,431 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 07:28:26,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:28:26,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:28:26,432 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:28:26,447 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:28:26,635 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:28:26,635 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:28:26,636 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:28:26,636 INFO L85 PathProgramCache]: Analyzing trace with hash -645753386, now seen corresponding path program 1 times [2022-04-28 07:28:26,636 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:28:26,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1064982167] [2022-04-28 07:28:33,525 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:28:33,526 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:28:33,526 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:28:33,526 INFO L85 PathProgramCache]: Analyzing trace with hash -645753386, now seen corresponding path program 2 times [2022-04-28 07:28:33,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:28:33,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [874982333] [2022-04-28 07:28:33,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:28:33,526 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:28:33,540 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:28:33,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1316332099] [2022-04-28 07:28:33,541 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 07:28:33,541 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:28:33,541 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:28:33,543 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:28:33,544 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 07:28:33,596 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 07:28:33,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:28:33,597 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 07:28:33,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:28:33,613 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:28:40,615 INFO L272 TraceCheckUtils]: 0: Hoare triple {4192#true} call ULTIMATE.init(); {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L290 TraceCheckUtils]: 1: Hoare triple {4192#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; {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L290 TraceCheckUtils]: 2: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4192#true} {4192#true} #65#return; {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {4192#true} call #t~ret7 := main(); {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {4192#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L272 TraceCheckUtils]: 6: Hoare triple {4192#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:28:40,616 INFO L290 TraceCheckUtils]: 7: Hoare triple {4192#true} ~cond := #in~cond; {4218#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:28:40,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {4218#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4222#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:40,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4222#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:28:40,618 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#(not (= |assume_abort_if_not_#in~cond| 0))} {4192#true} #59#return; {4229#(<= 1 main_~b~0)} is VALID [2022-04-28 07:28:40,618 INFO L290 TraceCheckUtils]: 11: Hoare triple {4229#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,618 INFO L290 TraceCheckUtils]: 12: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,619 INFO L290 TraceCheckUtils]: 13: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,619 INFO L272 TraceCheckUtils]: 14: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:28:40,619 INFO L290 TraceCheckUtils]: 15: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 07:28:40,619 INFO L290 TraceCheckUtils]: 16: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 07:28:40,619 INFO L290 TraceCheckUtils]: 17: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 07:28:40,619 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4192#true} {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {4233#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4261#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:28:40,624 INFO L290 TraceCheckUtils]: 21: Hoare triple {4261#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:40,624 INFO L290 TraceCheckUtils]: 22: Hoare triple {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:40,625 INFO L290 TraceCheckUtils]: 23: Hoare triple {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:40,625 INFO L272 TraceCheckUtils]: 24: Hoare triple {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:28:40,625 INFO L290 TraceCheckUtils]: 25: Hoare triple {4192#true} ~cond := #in~cond; {4278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:40,625 INFO L290 TraceCheckUtils]: 26: Hoare triple {4278#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:40,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:28:40,626 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:40,627 INFO L290 TraceCheckUtils]: 29: Hoare triple {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:28:40,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {4265#(and (= main_~z~0 0) (= main_~y~0 (div main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4295#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:28:40,630 INFO L290 TraceCheckUtils]: 31: Hoare triple {4295#(and (= main_~z~0 main_~x~0) (= (* main_~a~0 2) main_~x~0) (not (= (mod main_~b~0 2) 1)) (= (div main_~b~0 2) (+ main_~y~0 1)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:28:40,631 INFO L290 TraceCheckUtils]: 32: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:28:40,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} assume !!(#t~post6 < 100);havoc #t~post6; {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} is VALID [2022-04-28 07:28:40,763 INFO L272 TraceCheckUtils]: 34: Hoare triple {4299#(and (= (div (+ (- 1) (div main_~b~0 2)) 2) main_~y~0) (= (* main_~a~0 2) main_~z~0) (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 0 (div main_~b~0 2)) (<= 1 (mod (div main_~b~0 2) 2)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:28:40,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4313#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:28:40,764 INFO L290 TraceCheckUtils]: 36: Hoare triple {4313#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4193#false} is VALID [2022-04-28 07:28:40,764 INFO L290 TraceCheckUtils]: 37: Hoare triple {4193#false} assume !false; {4193#false} is VALID [2022-04-28 07:28:40,764 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 07:28:40,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:29:30,987 INFO L290 TraceCheckUtils]: 37: Hoare triple {4193#false} assume !false; {4193#false} is VALID [2022-04-28 07:29:30,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {4313#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4193#false} is VALID [2022-04-28 07:29:30,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4313#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:29:30,989 INFO L272 TraceCheckUtils]: 34: Hoare triple {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4309#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:29:30,990 INFO L290 TraceCheckUtils]: 33: Hoare triple {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:30,990 INFO L290 TraceCheckUtils]: 32: Hoare triple {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:31,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {4339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4329#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:29:31,007 INFO L290 TraceCheckUtils]: 30: Hoare triple {4343#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4339#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:29:31,008 INFO L290 TraceCheckUtils]: 29: Hoare triple {4343#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {4343#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:29:33,010 WARN L284 TraceCheckUtils]: 28: Hoare quadruple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} {4192#true} #61#return; {4343#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is UNKNOWN [2022-04-28 07:29:33,011 INFO L290 TraceCheckUtils]: 27: Hoare triple {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:33,011 INFO L290 TraceCheckUtils]: 26: Hoare triple {4359#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4282#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {4192#true} ~cond := #in~cond; {4359#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:29:33,012 INFO L272 TraceCheckUtils]: 24: Hoare triple {4192#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 23: Hoare triple {4192#true} assume !!(#t~post6 < 100);havoc #t~post6; {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 22: Hoare triple {4192#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 21: Hoare triple {4192#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 20: Hoare triple {4192#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 19: Hoare triple {4192#true} assume !!(0 != ~y~0); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4192#true} {4192#true} #61#return; {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 17: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 16: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 15: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L272 TraceCheckUtils]: 14: Hoare triple {4192#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:29:33,012 INFO L290 TraceCheckUtils]: 13: Hoare triple {4192#true} assume !!(#t~post6 < 100);havoc #t~post6; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 12: Hoare triple {4192#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {4192#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4192#true} {4192#true} #59#return; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 9: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 8: Hoare triple {4192#true} assume !(0 == ~cond); {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 7: Hoare triple {4192#true} ~cond := #in~cond; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L272 TraceCheckUtils]: 6: Hoare triple {4192#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 5: Hoare triple {4192#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {4192#true} call #t~ret7 := main(); {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4192#true} {4192#true} #65#return; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {4192#true} assume true; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {4192#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; {4192#true} is VALID [2022-04-28 07:29:33,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {4192#true} call ULTIMATE.init(); {4192#true} is VALID [2022-04-28 07:29:33,014 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:29:33,014 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:29:33,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [874982333] [2022-04-28 07:29:33,014 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:29:33,014 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1316332099] [2022-04-28 07:29:33,014 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1316332099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:29:33,014 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:29:33,014 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-28 07:29:33,015 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:29:33,015 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1064982167] [2022-04-28 07:29:33,015 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1064982167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:29:33,015 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:29:33,015 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 07:29:33,015 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1081528940] [2022-04-28 07:29:33,015 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:29:33,016 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:29:33,016 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:29:33,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:29:33,177 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:33,177 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 07:29:33,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:33,177 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 07:29:33,177 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=250, Unknown=1, NotChecked=0, Total=306 [2022-04-28 07:29:33,178 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:29:38,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:38,193 INFO L93 Difference]: Finished difference Result 78 states and 84 transitions. [2022-04-28 07:29:38,202 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 07:29:38,202 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:29:38,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:29:38,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:29:38,204 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-04-28 07:29:38,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:29:38,205 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 57 transitions. [2022-04-28 07:29:38,205 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 57 transitions. [2022-04-28 07:29:38,479 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:29:38,480 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:29:38,480 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 07:29:38,480 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 56 SyntacticMatches, 3 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 5.2s TimeCoverageRelationStatistics Valid=72, Invalid=347, Unknown=1, NotChecked=0, Total=420 [2022-04-28 07:29:38,480 INFO L413 NwaCegarLoop]: 22 mSDtfsCounter, 32 mSDsluCounter, 142 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.6s IncrementalHoareTripleChecker+Time [2022-04-28 07:29:38,481 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 164 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 2.6s Time] [2022-04-28 07:29:38,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 07:29:38,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-28 07:29:38,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:29:38,553 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:29:38,553 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:29:38,553 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:29:38,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:38,555 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 07:29:38,555 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 07:29:38,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:38,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:38,556 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 07:29:38,556 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 07:29:38,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:29:38,557 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 07:29:38,557 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 07:29:38,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:29:38,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:29:38,558 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:29:38,558 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:29:38,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:29:38,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 07:29:38,559 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 07:29:38,559 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:29:38,559 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 07:29:38,559 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 14 states have (on average 2.0) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 3 states have return successors, (4), 4 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:29:38,560 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 07:29:49,181 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:29:49,181 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 07:29:49,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:29:49,181 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:29:49,181 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:29:49,197 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 07:29:49,383 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 07:29:49,383 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:29:49,384 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:29:49,384 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 3 times [2022-04-28 07:29:49,384 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:29:49,384 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [832818760] [2022-04-28 07:29:54,653 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:29:54,653 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:29:54,653 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:29:54,653 INFO L85 PathProgramCache]: Analyzing trace with hash 539044694, now seen corresponding path program 4 times [2022-04-28 07:29:54,653 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:29:54,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [93534006] [2022-04-28 07:29:54,653 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:29:54,653 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:29:54,663 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:29:54,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1715506783] [2022-04-28 07:29:54,663 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:29:54,663 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:29:54,664 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:29:54,670 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 07:29:54,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 07:29:54,717 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:29:54,717 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:29:54,718 INFO L263 TraceCheckSpWp]: Trace formula consists of 93 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-28 07:29:54,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:29:54,732 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:30:08,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {4881#true} call ULTIMATE.init(); {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {4881#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; {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4881#true} {4881#true} #65#return; {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {4881#true} call #t~ret7 := main(); {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {4881#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4881#true} is VALID [2022-04-28 07:30:08,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {4881#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:30:08,251 INFO L290 TraceCheckUtils]: 7: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 07:30:08,251 INFO L290 TraceCheckUtils]: 8: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 07:30:08,251 INFO L290 TraceCheckUtils]: 9: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:30:08,251 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4881#true} {4881#true} #59#return; {4881#true} is VALID [2022-04-28 07:30:08,251 INFO L290 TraceCheckUtils]: 11: Hoare triple {4881#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:08,251 INFO L290 TraceCheckUtils]: 12: Hoare triple {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:08,252 INFO L290 TraceCheckUtils]: 13: Hoare triple {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:08,252 INFO L272 TraceCheckUtils]: 14: Hoare triple {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:30:08,252 INFO L290 TraceCheckUtils]: 15: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 07:30:08,252 INFO L290 TraceCheckUtils]: 16: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 07:30:08,252 INFO L290 TraceCheckUtils]: 17: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:30:08,253 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4881#true} {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:08,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {4919#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {4944#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:30:08,255 INFO L290 TraceCheckUtils]: 20: Hoare triple {4944#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {4948#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-28 07:30:08,257 INFO L290 TraceCheckUtils]: 21: Hoare triple {4948#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,258 INFO L272 TraceCheckUtils]: 24: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:30:08,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {4881#true} ~cond := #in~cond; {4965#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:08,258 INFO L290 TraceCheckUtils]: 26: Hoare triple {4965#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:08,259 INFO L290 TraceCheckUtils]: 27: Hoare triple {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:30:08,259 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #61#return; {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,260 INFO L290 TraceCheckUtils]: 29: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,261 INFO L290 TraceCheckUtils]: 30: Hoare triple {4952#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {4982#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:30:08,262 INFO L290 TraceCheckUtils]: 31: Hoare triple {4982#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (not (= (mod main_~y~0 2) 1)) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 07:30:08,262 INFO L290 TraceCheckUtils]: 32: Hoare triple {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 07:30:08,263 INFO L290 TraceCheckUtils]: 33: Hoare triple {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} assume !!(#t~post6 < 100);havoc #t~post6; {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} is VALID [2022-04-28 07:30:08,747 INFO L272 TraceCheckUtils]: 34: Hoare triple {4986#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= (* main_~a~0 4) main_~x~0) (= (div (div (+ (- 1) main_~b~0) 2) 2) main_~y~0) (<= 0 main_~b~0) (not (= (mod (div (+ (- 1) main_~b~0) 2) 2) 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4996#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:30:08,748 INFO L290 TraceCheckUtils]: 35: Hoare triple {4996#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5000#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:30:08,748 INFO L290 TraceCheckUtils]: 36: Hoare triple {5000#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4882#false} is VALID [2022-04-28 07:30:08,748 INFO L290 TraceCheckUtils]: 37: Hoare triple {4882#false} assume !false; {4882#false} is VALID [2022-04-28 07:30:08,749 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 07:30:08,749 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:32:06,326 INFO L290 TraceCheckUtils]: 37: Hoare triple {4882#false} assume !false; {4882#false} is VALID [2022-04-28 07:32:06,327 INFO L290 TraceCheckUtils]: 36: Hoare triple {5000#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4882#false} is VALID [2022-04-28 07:32:06,327 INFO L290 TraceCheckUtils]: 35: Hoare triple {4996#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5000#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:06,328 INFO L272 TraceCheckUtils]: 34: Hoare triple {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4996#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:06,329 INFO L290 TraceCheckUtils]: 33: Hoare triple {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:06,329 INFO L290 TraceCheckUtils]: 32: Hoare triple {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:06,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {5026#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5016#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:32:06,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {5030#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {5026#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:32:06,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {5030#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} assume !!(0 != ~y~0); {5030#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:32:06,341 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #61#return; {5030#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (or (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (not (= (mod main_~y~0 2) 0)))))} is VALID [2022-04-28 07:32:06,341 INFO L290 TraceCheckUtils]: 27: Hoare triple {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:06,342 INFO L290 TraceCheckUtils]: 26: Hoare triple {5047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4969#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:06,342 INFO L290 TraceCheckUtils]: 25: Hoare triple {4881#true} ~cond := #in~cond; {5047#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:32:06,342 INFO L272 TraceCheckUtils]: 24: Hoare triple {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:32:06,343 INFO L290 TraceCheckUtils]: 23: Hoare triple {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} assume !!(#t~post6 < 100);havoc #t~post6; {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:32:06,343 INFO L290 TraceCheckUtils]: 22: Hoare triple {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:32:06,423 INFO L290 TraceCheckUtils]: 21: Hoare triple {5060#(forall ((aux_div_v_main_~y~0_94_22 Int)) (or (and (or (<= (+ (* aux_div_v_main_~y~0_94_22 2) 1) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_94_22 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= (+ (* aux_div_v_main_~y~0_94_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_94_22 2)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (+ (* (* aux_div_v_main_~y~0_94_22 main_~x~0) 4) main_~z~0 (* main_~x~0 4)) (* main_~b~0 main_~a~0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5037#(or (<= 0 main_~y~0) (not (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:32:06,426 INFO L290 TraceCheckUtils]: 20: Hoare triple {4881#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5060#(forall ((aux_div_v_main_~y~0_94_22 Int)) (or (and (or (<= (+ (* aux_div_v_main_~y~0_94_22 2) 1) (div main_~y~0 2)) (not (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (<= 0 (+ (div main_~y~0 2) 1)) (< (+ (div main_~y~0 2) 1) (* aux_div_v_main_~y~0_94_22 2)) (= (mod main_~y~0 2) 0) (<= (div (+ (- 1) (* (- 1) (div main_~y~0 2))) (- 2)) (+ (div (+ (- 1) (div main_~y~0 2)) 2) 1))) (or (not (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0))) (not (= (mod main_~y~0 2) 0)) (<= (+ (* aux_div_v_main_~y~0_94_22 2) 2) (div main_~y~0 2)) (< (div main_~y~0 2) (* aux_div_v_main_~y~0_94_22 2)) (<= 0 (div main_~y~0 2)) (<= (div (- (div main_~y~0 2)) (- 2)) (+ (div (+ (- 2) (div main_~y~0 2)) 2) 1)))) (= (+ (* (* aux_div_v_main_~y~0_94_22 main_~x~0) 4) main_~z~0 (* main_~x~0 4)) (* main_~b~0 main_~a~0))))} is VALID [2022-04-28 07:32:06,426 INFO L290 TraceCheckUtils]: 19: Hoare triple {4881#true} assume !!(0 != ~y~0); {4881#true} is VALID [2022-04-28 07:32:06,426 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4881#true} {4881#true} #61#return; {4881#true} is VALID [2022-04-28 07:32:06,426 INFO L290 TraceCheckUtils]: 17: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:32:06,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L272 TraceCheckUtils]: 14: Hoare triple {4881#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {4881#true} assume !!(#t~post6 < 100);havoc #t~post6; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {4881#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {4881#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4881#true} {4881#true} #59#return; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 9: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 8: Hoare triple {4881#true} assume !(0 == ~cond); {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {4881#true} ~cond := #in~cond; {4881#true} is VALID [2022-04-28 07:32:06,427 INFO L272 TraceCheckUtils]: 6: Hoare triple {4881#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L290 TraceCheckUtils]: 5: Hoare triple {4881#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L272 TraceCheckUtils]: 4: Hoare triple {4881#true} call #t~ret7 := main(); {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4881#true} {4881#true} #65#return; {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L290 TraceCheckUtils]: 2: Hoare triple {4881#true} assume true; {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L290 TraceCheckUtils]: 1: Hoare triple {4881#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; {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L272 TraceCheckUtils]: 0: Hoare triple {4881#true} call ULTIMATE.init(); {4881#true} is VALID [2022-04-28 07:32:06,428 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 07:32:06,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:32:06,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [93534006] [2022-04-28 07:32:06,429 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:32:06,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1715506783] [2022-04-28 07:32:06,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1715506783] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:32:06,429 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:32:06,429 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 18 [2022-04-28 07:32:06,429 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:32:06,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [832818760] [2022-04-28 07:32:06,429 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [832818760] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:32:06,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:32:06,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 07:32:06,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [116504089] [2022-04-28 07:32:06,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:32:06,430 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:32:06,430 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:32:06,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:32:08,475 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:08,475 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 07:32:08,475 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:08,475 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 07:32:08,476 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=244, Unknown=2, NotChecked=0, Total=306 [2022-04-28 07:32:08,476 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:32:14,861 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.85s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:21,044 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:28,830 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.35s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:32:28,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:28,975 INFO L93 Difference]: Finished difference Result 78 states and 84 transitions. [2022-04-28 07:32:28,975 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 07:32:28,975 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:32:28,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:32:28,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:32:28,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2022-04-28 07:32:28,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:32:28,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 57 transitions. [2022-04-28 07:32:28,978 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 57 transitions. [2022-04-28 07:32:30,939 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:32:30,940 INFO L225 Difference]: With dead ends: 78 [2022-04-28 07:32:30,940 INFO L226 Difference]: Without dead ends: 76 [2022-04-28 07:32:30,940 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 58 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 54 ImplicationChecksByTransitivity, 6.5s TimeCoverageRelationStatistics Valid=73, Invalid=305, Unknown=2, NotChecked=0, Total=380 [2022-04-28 07:32:30,940 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 18 mSDsluCounter, 150 mSDsCounter, 0 mSdLazyCounter, 211 mSolverCounterSat, 5 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 10.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 175 SdHoareTripleChecker+Invalid, 217 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 211 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 10.1s IncrementalHoareTripleChecker+Time [2022-04-28 07:32:30,941 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 175 Invalid, 217 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 211 Invalid, 1 Unknown, 0 Unchecked, 10.1s Time] [2022-04-28 07:32:30,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-04-28 07:32:31,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 65. [2022-04-28 07:32:31,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:32:31,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:32:31,041 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:32:31,042 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:32:31,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:31,043 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 07:32:31,043 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 07:32:31,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:31,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:31,044 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 07:32:31,044 INFO L87 Difference]: Start difference. First operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 76 states. [2022-04-28 07:32:31,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:32:31,045 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 07:32:31,046 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2022-04-28 07:32:31,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:32:31,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:32:31,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:32:31,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:32:31,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 48 states have (on average 1.125) internal successors, (54), 50 states have internal predecessors, (54), 9 states have call successors, (9), 8 states have call predecessors, (9), 7 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-28 07:32:31,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 70 transitions. [2022-04-28 07:32:31,047 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 70 transitions. Word has length 38 [2022-04-28 07:32:31,048 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:32:31,048 INFO L495 AbstractCegarLoop]: Abstraction has 65 states and 70 transitions. [2022-04-28 07:32:31,048 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.3333333333333335) internal successors, (28), 11 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:32:31,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 65 states and 70 transitions. [2022-04-28 07:32:43,131 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 65 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:32:43,132 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 70 transitions. [2022-04-28 07:32:43,132 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-28 07:32:43,132 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:32:43,132 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:32:43,148 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-28 07:32:43,332 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 07:32:43,333 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:32:43,333 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:32:43,333 INFO L85 PathProgramCache]: Analyzing trace with hash 1348391320, now seen corresponding path program 3 times [2022-04-28 07:32:43,334 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:32:43,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [653652385] [2022-04-28 07:32:47,387 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 4 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:32:47,388 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:32:47,388 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:32:47,388 INFO L85 PathProgramCache]: Analyzing trace with hash 1348391320, now seen corresponding path program 4 times [2022-04-28 07:32:47,388 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:32:47,388 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2127843711] [2022-04-28 07:32:47,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:32:47,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:32:47,397 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:32:47,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1440116904] [2022-04-28 07:32:47,397 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 07:32:47,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:32:47,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:32:47,403 INFO L229 MonitoredProcess]: Starting monitored process 13 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:32:47,404 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 07:32:47,441 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 07:32:47,441 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:32:47,442 INFO L263 TraceCheckSpWp]: Trace formula consists of 98 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 07:32:47,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:32:47,476 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:32:55,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {5568#true} call ULTIMATE.init(); {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {5568#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; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 2: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5568#true} {5568#true} #65#return; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L272 TraceCheckUtils]: 4: Hoare triple {5568#true} call #t~ret7 := main(); {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 5: Hoare triple {5568#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L272 TraceCheckUtils]: 6: Hoare triple {5568#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 7: Hoare triple {5568#true} ~cond := #in~cond; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 8: Hoare triple {5568#true} assume !(0 == ~cond); {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L290 TraceCheckUtils]: 9: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:32:55,751 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5568#true} {5568#true} #59#return; {5568#true} is VALID [2022-04-28 07:32:55,752 INFO L290 TraceCheckUtils]: 11: Hoare triple {5568#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,752 INFO L290 TraceCheckUtils]: 12: Hoare triple {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,752 INFO L272 TraceCheckUtils]: 14: Hoare triple {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:32:55,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {5568#true} ~cond := #in~cond; {5568#true} is VALID [2022-04-28 07:32:55,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {5568#true} assume !(0 == ~cond); {5568#true} is VALID [2022-04-28 07:32:55,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:32:55,753 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5568#true} {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} #61#return; {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,754 INFO L290 TraceCheckUtils]: 19: Hoare triple {5606#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {5631#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,754 INFO L290 TraceCheckUtils]: 20: Hoare triple {5631#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5635#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:32:55,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {5635#(and (= main_~b~0 (+ main_~y~0 1)) (<= 1 (mod main_~b~0 2)) (= main_~z~0 main_~x~0) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:32:55,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:32:55,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:32:55,757 INFO L272 TraceCheckUtils]: 24: Hoare triple {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:32:55,759 INFO L290 TraceCheckUtils]: 25: Hoare triple {5568#true} ~cond := #in~cond; {5652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:55,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {5652#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:55,764 INFO L290 TraceCheckUtils]: 27: Hoare triple {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:32:55,764 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} #61#return; {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:32:55,765 INFO L290 TraceCheckUtils]: 29: Hoare triple {5639#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !!(0 != ~y~0); {5666#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-28 07:32:55,767 INFO L290 TraceCheckUtils]: 30: Hoare triple {5666#(and (not (= main_~y~0 0)) (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (= main_~x~0 (* main_~z~0 2)) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5670#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:32:55,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {5670#(and (<= 1 (mod main_~b~0 2)) (= (+ main_~a~0 main_~x~0) main_~z~0) (= (* main_~a~0 2) main_~x~0) (= (div (+ (- 1) main_~b~0) 2) (+ main_~y~0 1)) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:32:55,769 INFO L290 TraceCheckUtils]: 32: Hoare triple {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:32:55,770 INFO L290 TraceCheckUtils]: 33: Hoare triple {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 07:32:56,763 INFO L272 TraceCheckUtils]: 34: Hoare triple {5674#(and (= main_~x~0 (+ (* main_~z~0 2) (* (- 2) main_~a~0))) (= (* main_~a~0 2) (+ (* (- 1) main_~a~0) main_~z~0)) (<= 1 (mod main_~b~0 2)) (= (div (+ (- 1) (div (+ (- 1) main_~b~0) 2)) 2) main_~y~0) (<= 1 (mod (div (+ (- 1) main_~b~0) 2) 2)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5684#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:32:56,764 INFO L290 TraceCheckUtils]: 35: Hoare triple {5684#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5688#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:32:56,764 INFO L290 TraceCheckUtils]: 36: Hoare triple {5688#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5569#false} is VALID [2022-04-28 07:32:56,764 INFO L290 TraceCheckUtils]: 37: Hoare triple {5569#false} assume !false; {5569#false} is VALID [2022-04-28 07:32:56,764 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-28 07:32:56,764 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:33:56,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {5569#false} assume !false; {5569#false} is VALID [2022-04-28 07:33:56,841 INFO L290 TraceCheckUtils]: 36: Hoare triple {5688#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5569#false} is VALID [2022-04-28 07:33:56,842 INFO L290 TraceCheckUtils]: 35: Hoare triple {5684#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5688#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:33:56,843 INFO L272 TraceCheckUtils]: 34: Hoare triple {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5684#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:33:56,843 INFO L290 TraceCheckUtils]: 33: Hoare triple {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !!(#t~post6 < 100);havoc #t~post6; {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:56,844 INFO L290 TraceCheckUtils]: 32: Hoare triple {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:56,850 INFO L290 TraceCheckUtils]: 31: Hoare triple {5714#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5704#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-28 07:33:56,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {5718#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5714#(and (or (not (< main_~y~0 0)) (= (mod main_~y~0 2) 0) (= (+ main_~z~0 (* (* main_~x~0 2) (+ (div main_~y~0 2) 1))) (* main_~b~0 main_~a~0))) (or (= (+ main_~z~0 (* (* main_~x~0 2) (div main_~y~0 2))) (* main_~b~0 main_~a~0)) (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0))))} is VALID [2022-04-28 07:33:56,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {5718#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} assume !!(0 != ~y~0); {5718#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:33:57,228 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} {5568#true} #61#return; {5718#(or (= (+ (* (* main_~x~0 2) (div (+ (- 1) main_~y~0) 2)) main_~z~0 main_~x~0) (* main_~b~0 main_~a~0)) (not (<= 1 (mod main_~y~0 2))) (< main_~y~0 0))} is VALID [2022-04-28 07:33:57,229 INFO L290 TraceCheckUtils]: 27: Hoare triple {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:57,229 INFO L290 TraceCheckUtils]: 26: Hoare triple {5734#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {5656#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:33:57,229 INFO L290 TraceCheckUtils]: 25: Hoare triple {5568#true} ~cond := #in~cond; {5734#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 07:33:57,229 INFO L272 TraceCheckUtils]: 24: Hoare triple {5568#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {5568#true} assume !!(#t~post6 < 100);havoc #t~post6; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {5568#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 21: Hoare triple {5568#true} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 20: Hoare triple {5568#true} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {5568#true} assume !!(0 != ~y~0); {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5568#true} {5568#true} #61#return; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 16: Hoare triple {5568#true} assume !(0 == ~cond); {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {5568#true} ~cond := #in~cond; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L272 TraceCheckUtils]: 14: Hoare triple {5568#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {5568#true} assume !!(#t~post6 < 100);havoc #t~post6; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 12: Hoare triple {5568#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L290 TraceCheckUtils]: 11: Hoare triple {5568#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {5568#true} is VALID [2022-04-28 07:33:57,230 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5568#true} {5568#true} #59#return; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 9: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 8: Hoare triple {5568#true} assume !(0 == ~cond); {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 7: Hoare triple {5568#true} ~cond := #in~cond; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L272 TraceCheckUtils]: 6: Hoare triple {5568#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 5: Hoare triple {5568#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L272 TraceCheckUtils]: 4: Hoare triple {5568#true} call #t~ret7 := main(); {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5568#true} {5568#true} #65#return; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {5568#true} assume true; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {5568#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; {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {5568#true} call ULTIMATE.init(); {5568#true} is VALID [2022-04-28 07:33:57,231 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 15 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-28 07:33:57,232 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:33:57,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2127843711] [2022-04-28 07:33:57,232 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:33:57,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1440116904] [2022-04-28 07:33:57,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1440116904] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:33:57,232 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:33:57,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 17 [2022-04-28 07:33:57,232 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:33:57,232 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [653652385] [2022-04-28 07:33:57,232 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [653652385] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:33:57,232 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:33:57,232 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 07:33:57,232 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1502302259] [2022-04-28 07:33:57,232 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:33:57,233 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:33:57,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:33:57,233 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:33:59,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 37 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 07:33:59,270 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 07:33:59,270 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:33:59,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 07:33:59,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=218, Unknown=1, NotChecked=0, Total=272 [2022-04-28 07:33:59,270 INFO L87 Difference]: Start difference. First operand 65 states and 70 transitions. Second operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:34:03,398 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:09,331 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.54s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:11,406 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:15,235 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:17,842 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 07:34:27,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:27,162 INFO L93 Difference]: Finished difference Result 76 states and 82 transitions. [2022-04-28 07:34:27,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 07:34:27,162 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 38 [2022-04-28 07:34:27,162 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:34:27,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:34:27,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 07:34:27,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:34:27,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 58 transitions. [2022-04-28 07:34:27,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 58 transitions. [2022-04-28 07:34:27,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:27,667 INFO L225 Difference]: With dead ends: 76 [2022-04-28 07:34:27,667 INFO L226 Difference]: Without dead ends: 74 [2022-04-28 07:34:27,667 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 57 SyntacticMatches, 3 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 11.4s TimeCoverageRelationStatistics Valid=66, Invalid=275, Unknown=1, NotChecked=0, Total=342 [2022-04-28 07:34:27,668 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 18 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 273 mSolverCounterSat, 2 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 13.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 277 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 273 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 13.3s IncrementalHoareTripleChecker+Time [2022-04-28 07:34:27,668 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 209 Invalid, 277 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 273 Invalid, 2 Unknown, 0 Unchecked, 13.3s Time] [2022-04-28 07:34:27,668 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-28 07:34:27,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 52. [2022-04-28 07:34:27,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:34:27,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:27,740 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:27,740 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:27,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:27,741 INFO L93 Difference]: Finished difference Result 74 states and 80 transitions. [2022-04-28 07:34:27,741 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 80 transitions. [2022-04-28 07:34:27,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:27,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:27,741 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 74 states. [2022-04-28 07:34:27,741 INFO L87 Difference]: Start difference. First operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 74 states. [2022-04-28 07:34:27,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:27,743 INFO L93 Difference]: Finished difference Result 74 states and 80 transitions. [2022-04-28 07:34:27,743 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 80 transitions. [2022-04-28 07:34:27,743 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:27,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:27,743 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:34:27,743 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:34:27,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 37 states have (on average 1.135135135135135) internal successors, (42), 39 states have internal predecessors, (42), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:27,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 56 transitions. [2022-04-28 07:34:27,744 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 56 transitions. Word has length 38 [2022-04-28 07:34:27,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:34:27,745 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 56 transitions. [2022-04-28 07:34:27,745 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.1538461538461537) internal successors, (28), 12 states have internal predecessors, (28), 4 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-04-28 07:34:27,745 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 56 transitions. [2022-04-28 07:34:37,940 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 51 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:37,940 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 56 transitions. [2022-04-28 07:34:37,941 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 07:34:37,941 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:34:37,941 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:34:37,959 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-28 07:34:38,143 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 07:34:38,143 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:34:38,144 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:34:38,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1258071893, now seen corresponding path program 5 times [2022-04-28 07:34:38,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:38,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2012270518] [2022-04-28 07:34:42,209 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:34:42,210 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:34:42,210 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:34:42,210 INFO L85 PathProgramCache]: Analyzing trace with hash -1258071893, now seen corresponding path program 6 times [2022-04-28 07:34:42,210 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:34:42,210 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [812019281] [2022-04-28 07:34:42,210 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:34:42,210 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:34:42,220 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:34:42,220 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [789402690] [2022-04-28 07:34:42,220 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:34:42,221 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:34:42,221 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:34:42,221 INFO L229 MonitoredProcess]: Starting monitored process 14 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:34:42,222 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 07:34:42,265 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:34:42,265 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:34:42,266 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 07:34:42,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:34:42,276 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:34:42,481 INFO L272 TraceCheckUtils]: 0: Hoare triple {6220#true} call ULTIMATE.init(); {6220#true} is VALID [2022-04-28 07:34:42,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {6220#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; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {6228#(<= ~counter~0 0)} assume true; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6228#(<= ~counter~0 0)} {6220#true} #65#return; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {6228#(<= ~counter~0 0)} call #t~ret7 := main(); {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {6228#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,483 INFO L272 TraceCheckUtils]: 6: Hoare triple {6228#(<= ~counter~0 0)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {6228#(<= ~counter~0 0)} ~cond := #in~cond; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {6228#(<= ~counter~0 0)} assume !(0 == ~cond); {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {6228#(<= ~counter~0 0)} assume true; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6228#(<= ~counter~0 0)} {6228#(<= ~counter~0 0)} #59#return; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,485 INFO L290 TraceCheckUtils]: 11: Hoare triple {6228#(<= ~counter~0 0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6228#(<= ~counter~0 0)} is VALID [2022-04-28 07:34:42,486 INFO L290 TraceCheckUtils]: 12: Hoare triple {6228#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {6262#(<= ~counter~0 1)} assume !!(#t~post6 < 100);havoc #t~post6; {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,487 INFO L272 TraceCheckUtils]: 14: Hoare triple {6262#(<= ~counter~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,487 INFO L290 TraceCheckUtils]: 15: Hoare triple {6262#(<= ~counter~0 1)} ~cond := #in~cond; {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,488 INFO L290 TraceCheckUtils]: 16: Hoare triple {6262#(<= ~counter~0 1)} assume !(0 == ~cond); {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,488 INFO L290 TraceCheckUtils]: 17: Hoare triple {6262#(<= ~counter~0 1)} assume true; {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,489 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6262#(<= ~counter~0 1)} {6262#(<= ~counter~0 1)} #61#return; {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,489 INFO L290 TraceCheckUtils]: 19: Hoare triple {6262#(<= ~counter~0 1)} assume !!(0 != ~y~0); {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,489 INFO L290 TraceCheckUtils]: 20: Hoare triple {6262#(<= ~counter~0 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,490 INFO L290 TraceCheckUtils]: 21: Hoare triple {6262#(<= ~counter~0 1)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6262#(<= ~counter~0 1)} is VALID [2022-04-28 07:34:42,490 INFO L290 TraceCheckUtils]: 22: Hoare triple {6262#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {6293#(<= ~counter~0 2)} assume !!(#t~post6 < 100);havoc #t~post6; {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,491 INFO L272 TraceCheckUtils]: 24: Hoare triple {6293#(<= ~counter~0 2)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,492 INFO L290 TraceCheckUtils]: 25: Hoare triple {6293#(<= ~counter~0 2)} ~cond := #in~cond; {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,492 INFO L290 TraceCheckUtils]: 26: Hoare triple {6293#(<= ~counter~0 2)} assume !(0 == ~cond); {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,493 INFO L290 TraceCheckUtils]: 27: Hoare triple {6293#(<= ~counter~0 2)} assume true; {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,493 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6293#(<= ~counter~0 2)} {6293#(<= ~counter~0 2)} #61#return; {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,494 INFO L290 TraceCheckUtils]: 29: Hoare triple {6293#(<= ~counter~0 2)} assume !!(0 != ~y~0); {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,494 INFO L290 TraceCheckUtils]: 30: Hoare triple {6293#(<= ~counter~0 2)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,494 INFO L290 TraceCheckUtils]: 31: Hoare triple {6293#(<= ~counter~0 2)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6293#(<= ~counter~0 2)} is VALID [2022-04-28 07:34:42,495 INFO L290 TraceCheckUtils]: 32: Hoare triple {6293#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,495 INFO L290 TraceCheckUtils]: 33: Hoare triple {6324#(<= ~counter~0 3)} assume !!(#t~post6 < 100);havoc #t~post6; {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,496 INFO L272 TraceCheckUtils]: 34: Hoare triple {6324#(<= ~counter~0 3)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,496 INFO L290 TraceCheckUtils]: 35: Hoare triple {6324#(<= ~counter~0 3)} ~cond := #in~cond; {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,497 INFO L290 TraceCheckUtils]: 36: Hoare triple {6324#(<= ~counter~0 3)} assume !(0 == ~cond); {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,497 INFO L290 TraceCheckUtils]: 37: Hoare triple {6324#(<= ~counter~0 3)} assume true; {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,497 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6324#(<= ~counter~0 3)} {6324#(<= ~counter~0 3)} #61#return; {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,498 INFO L290 TraceCheckUtils]: 39: Hoare triple {6324#(<= ~counter~0 3)} assume !!(0 != ~y~0); {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,498 INFO L290 TraceCheckUtils]: 40: Hoare triple {6324#(<= ~counter~0 3)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,507 INFO L290 TraceCheckUtils]: 41: Hoare triple {6324#(<= ~counter~0 3)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6324#(<= ~counter~0 3)} is VALID [2022-04-28 07:34:42,508 INFO L290 TraceCheckUtils]: 42: Hoare triple {6324#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6355#(<= |main_#t~post6| 3)} is VALID [2022-04-28 07:34:42,508 INFO L290 TraceCheckUtils]: 43: Hoare triple {6355#(<= |main_#t~post6| 3)} assume !(#t~post6 < 100);havoc #t~post6; {6221#false} is VALID [2022-04-28 07:34:42,508 INFO L272 TraceCheckUtils]: 44: Hoare triple {6221#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {6221#false} is VALID [2022-04-28 07:34:42,508 INFO L290 TraceCheckUtils]: 45: Hoare triple {6221#false} ~cond := #in~cond; {6221#false} is VALID [2022-04-28 07:34:42,508 INFO L290 TraceCheckUtils]: 46: Hoare triple {6221#false} assume 0 == ~cond; {6221#false} is VALID [2022-04-28 07:34:42,509 INFO L290 TraceCheckUtils]: 47: Hoare triple {6221#false} assume !false; {6221#false} is VALID [2022-04-28 07:34:42,509 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-28 07:34:42,509 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:34:42,737 INFO L290 TraceCheckUtils]: 47: Hoare triple {6221#false} assume !false; {6221#false} is VALID [2022-04-28 07:34:42,737 INFO L290 TraceCheckUtils]: 46: Hoare triple {6221#false} assume 0 == ~cond; {6221#false} is VALID [2022-04-28 07:34:42,737 INFO L290 TraceCheckUtils]: 45: Hoare triple {6221#false} ~cond := #in~cond; {6221#false} is VALID [2022-04-28 07:34:42,737 INFO L272 TraceCheckUtils]: 44: Hoare triple {6221#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {6221#false} is VALID [2022-04-28 07:34:42,737 INFO L290 TraceCheckUtils]: 43: Hoare triple {6383#(< |main_#t~post6| 100)} assume !(#t~post6 < 100);havoc #t~post6; {6221#false} is VALID [2022-04-28 07:34:42,738 INFO L290 TraceCheckUtils]: 42: Hoare triple {6387#(< ~counter~0 100)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6383#(< |main_#t~post6| 100)} is VALID [2022-04-28 07:34:42,738 INFO L290 TraceCheckUtils]: 41: Hoare triple {6387#(< ~counter~0 100)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,738 INFO L290 TraceCheckUtils]: 40: Hoare triple {6387#(< ~counter~0 100)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,738 INFO L290 TraceCheckUtils]: 39: Hoare triple {6387#(< ~counter~0 100)} assume !!(0 != ~y~0); {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,739 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6220#true} {6387#(< ~counter~0 100)} #61#return; {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,739 INFO L290 TraceCheckUtils]: 37: Hoare triple {6220#true} assume true; {6220#true} is VALID [2022-04-28 07:34:42,739 INFO L290 TraceCheckUtils]: 36: Hoare triple {6220#true} assume !(0 == ~cond); {6220#true} is VALID [2022-04-28 07:34:42,739 INFO L290 TraceCheckUtils]: 35: Hoare triple {6220#true} ~cond := #in~cond; {6220#true} is VALID [2022-04-28 07:34:42,739 INFO L272 TraceCheckUtils]: 34: Hoare triple {6387#(< ~counter~0 100)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6220#true} is VALID [2022-04-28 07:34:42,739 INFO L290 TraceCheckUtils]: 33: Hoare triple {6387#(< ~counter~0 100)} assume !!(#t~post6 < 100);havoc #t~post6; {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,740 INFO L290 TraceCheckUtils]: 32: Hoare triple {6418#(< ~counter~0 99)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6387#(< ~counter~0 100)} is VALID [2022-04-28 07:34:42,740 INFO L290 TraceCheckUtils]: 31: Hoare triple {6418#(< ~counter~0 99)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,741 INFO L290 TraceCheckUtils]: 30: Hoare triple {6418#(< ~counter~0 99)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,741 INFO L290 TraceCheckUtils]: 29: Hoare triple {6418#(< ~counter~0 99)} assume !!(0 != ~y~0); {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,742 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6220#true} {6418#(< ~counter~0 99)} #61#return; {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,742 INFO L290 TraceCheckUtils]: 27: Hoare triple {6220#true} assume true; {6220#true} is VALID [2022-04-28 07:34:42,742 INFO L290 TraceCheckUtils]: 26: Hoare triple {6220#true} assume !(0 == ~cond); {6220#true} is VALID [2022-04-28 07:34:42,742 INFO L290 TraceCheckUtils]: 25: Hoare triple {6220#true} ~cond := #in~cond; {6220#true} is VALID [2022-04-28 07:34:42,742 INFO L272 TraceCheckUtils]: 24: Hoare triple {6418#(< ~counter~0 99)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6220#true} is VALID [2022-04-28 07:34:42,743 INFO L290 TraceCheckUtils]: 23: Hoare triple {6418#(< ~counter~0 99)} assume !!(#t~post6 < 100);havoc #t~post6; {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,743 INFO L290 TraceCheckUtils]: 22: Hoare triple {6449#(< ~counter~0 98)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6418#(< ~counter~0 99)} is VALID [2022-04-28 07:34:42,744 INFO L290 TraceCheckUtils]: 21: Hoare triple {6449#(< ~counter~0 98)} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,744 INFO L290 TraceCheckUtils]: 20: Hoare triple {6449#(< ~counter~0 98)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,744 INFO L290 TraceCheckUtils]: 19: Hoare triple {6449#(< ~counter~0 98)} assume !!(0 != ~y~0); {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,745 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6220#true} {6449#(< ~counter~0 98)} #61#return; {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,745 INFO L290 TraceCheckUtils]: 17: Hoare triple {6220#true} assume true; {6220#true} is VALID [2022-04-28 07:34:42,745 INFO L290 TraceCheckUtils]: 16: Hoare triple {6220#true} assume !(0 == ~cond); {6220#true} is VALID [2022-04-28 07:34:42,746 INFO L290 TraceCheckUtils]: 15: Hoare triple {6220#true} ~cond := #in~cond; {6220#true} is VALID [2022-04-28 07:34:42,746 INFO L272 TraceCheckUtils]: 14: Hoare triple {6449#(< ~counter~0 98)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6220#true} is VALID [2022-04-28 07:34:42,746 INFO L290 TraceCheckUtils]: 13: Hoare triple {6449#(< ~counter~0 98)} assume !!(#t~post6 < 100);havoc #t~post6; {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {6480#(< ~counter~0 97)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6449#(< ~counter~0 98)} is VALID [2022-04-28 07:34:42,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {6480#(< ~counter~0 97)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,748 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6220#true} {6480#(< ~counter~0 97)} #59#return; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {6220#true} assume true; {6220#true} is VALID [2022-04-28 07:34:42,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {6220#true} assume !(0 == ~cond); {6220#true} is VALID [2022-04-28 07:34:42,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {6220#true} ~cond := #in~cond; {6220#true} is VALID [2022-04-28 07:34:42,748 INFO L272 TraceCheckUtils]: 6: Hoare triple {6480#(< ~counter~0 97)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6220#true} is VALID [2022-04-28 07:34:42,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {6480#(< ~counter~0 97)} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,749 INFO L272 TraceCheckUtils]: 4: Hoare triple {6480#(< ~counter~0 97)} call #t~ret7 := main(); {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,749 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6480#(< ~counter~0 97)} {6220#true} #65#return; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,750 INFO L290 TraceCheckUtils]: 2: Hoare triple {6480#(< ~counter~0 97)} assume true; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,750 INFO L290 TraceCheckUtils]: 1: Hoare triple {6220#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; {6480#(< ~counter~0 97)} is VALID [2022-04-28 07:34:42,750 INFO L272 TraceCheckUtils]: 0: Hoare triple {6220#true} call ULTIMATE.init(); {6220#true} is VALID [2022-04-28 07:34:42,750 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 24 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 07:34:42,750 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:34:42,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [812019281] [2022-04-28 07:34:42,751 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:34:42,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [789402690] [2022-04-28 07:34:42,751 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [789402690] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 07:34:42,751 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 07:34:42,751 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-28 07:34:42,751 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:34:42,751 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2012270518] [2022-04-28 07:34:42,751 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2012270518] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:34:42,751 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:34:42,751 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 07:34:42,752 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [754082026] [2022-04-28 07:34:42,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:34:42,752 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 48 [2022-04-28 07:34:42,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:34:42,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 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:34:42,783 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:42,783 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 07:34:42,783 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:42,783 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 07:34:42,784 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-28 07:34:42,784 INFO L87 Difference]: Start difference. First operand 52 states and 56 transitions. Second operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 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:34:42,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:42,948 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2022-04-28 07:34:42,948 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 07:34:42,948 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 states have call predecessors, (7), 4 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 48 [2022-04-28 07:34:42,948 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:34:42,948 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 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:34:42,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:34:42,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 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:34:42,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 69 transitions. [2022-04-28 07:34:42,951 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 69 transitions. [2022-04-28 07:34:43,012 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:43,013 INFO L225 Difference]: With dead ends: 64 [2022-04-28 07:34:43,013 INFO L226 Difference]: Without dead ends: 57 [2022-04-28 07:34:43,013 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 85 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-28 07:34:43,014 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 10 mSDsluCounter, 68 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 07:34:43,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 96 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 07:34:43,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-28 07:34:43,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 57. [2022-04-28 07:34:43,092 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:34:43,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:43,093 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:43,093 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:43,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:43,094 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 07:34:43,094 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 07:34:43,095 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:43,095 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:43,095 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-04-28 07:34:43,095 INFO L87 Difference]: Start difference. First operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 57 states. [2022-04-28 07:34:43,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:34:43,100 INFO L93 Difference]: Finished difference Result 57 states and 62 transitions. [2022-04-28 07:34:43,100 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 07:34:43,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:34:43,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:34:43,100 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:34:43,100 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:34:43,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 42 states have (on average 1.1428571428571428) internal successors, (48), 43 states have internal predecessors, (48), 8 states have call successors, (8), 7 states have call predecessors, (8), 6 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-28 07:34:43,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 62 transitions. [2022-04-28 07:34:43,101 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 62 transitions. Word has length 48 [2022-04-28 07:34:43,101 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:34:43,101 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 62 transitions. [2022-04-28 07:34:43,101 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 5.142857142857143) internal successors, (36), 6 states have internal predecessors, (36), 6 states have call successors, (7), 6 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:34:43,102 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 57 states and 62 transitions. [2022-04-28 07:34:53,990 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 57 inductive. 0 not inductive. 5 times theorem prover too weak to decide inductivity. [2022-04-28 07:34:53,990 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 62 transitions. [2022-04-28 07:34:53,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 07:34:53,991 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:34:53,991 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:34:54,007 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 07:34:54,195 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 07:34:54,195 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:34:54,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:34:54,196 INFO L85 PathProgramCache]: Analyzing trace with hash -1256284433, now seen corresponding path program 5 times [2022-04-28 07:34:54,196 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:34:54,196 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1185869094] [2022-04-28 07:34:58,243 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:34:58,244 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:34:58,244 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:34:58,244 INFO L85 PathProgramCache]: Analyzing trace with hash -1256284433, now seen corresponding path program 6 times [2022-04-28 07:34:58,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:34:58,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1299985683] [2022-04-28 07:34:58,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:34:58,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:34:58,254 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:34:58,254 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1907151999] [2022-04-28 07:34:58,254 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:34:58,254 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:34:58,254 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:34:58,268 INFO L229 MonitoredProcess]: Starting monitored process 15 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:34:58,272 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 07:34:58,317 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 07:34:58,317 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:34:58,318 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-28 07:34:58,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:34:58,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:35:27,717 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:36:24,055 INFO L272 TraceCheckUtils]: 0: Hoare triple {6881#true} call ULTIMATE.init(); {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {6881#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; {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {6881#true} assume true; {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6881#true} {6881#true} #65#return; {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {6881#true} call #t~ret7 := main(); {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {6881#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L272 TraceCheckUtils]: 6: Hoare triple {6881#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {6881#true} is VALID [2022-04-28 07:36:24,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {6881#true} ~cond := #in~cond; {6907#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:36:24,057 INFO L290 TraceCheckUtils]: 8: Hoare triple {6907#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6911#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:36:24,057 INFO L290 TraceCheckUtils]: 9: Hoare triple {6911#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6911#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:36:24,058 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6911#(not (= |assume_abort_if_not_#in~cond| 0))} {6881#true} #59#return; {6918#(<= 1 main_~b~0)} is VALID [2022-04-28 07:36:24,058 INFO L290 TraceCheckUtils]: 11: Hoare triple {6918#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,058 INFO L290 TraceCheckUtils]: 12: Hoare triple {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,059 INFO L290 TraceCheckUtils]: 13: Hoare triple {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,059 INFO L272 TraceCheckUtils]: 14: Hoare triple {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6881#true} is VALID [2022-04-28 07:36:24,059 INFO L290 TraceCheckUtils]: 15: Hoare triple {6881#true} ~cond := #in~cond; {6881#true} is VALID [2022-04-28 07:36:24,059 INFO L290 TraceCheckUtils]: 16: Hoare triple {6881#true} assume !(0 == ~cond); {6881#true} is VALID [2022-04-28 07:36:24,059 INFO L290 TraceCheckUtils]: 17: Hoare triple {6881#true} assume true; {6881#true} is VALID [2022-04-28 07:36:24,059 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6881#true} {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,060 INFO L290 TraceCheckUtils]: 19: Hoare triple {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,061 INFO L290 TraceCheckUtils]: 20: Hoare triple {6922#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6950#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:36:24,061 INFO L290 TraceCheckUtils]: 21: Hoare triple {6950#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,062 INFO L290 TraceCheckUtils]: 22: Hoare triple {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,062 INFO L290 TraceCheckUtils]: 23: Hoare triple {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,062 INFO L272 TraceCheckUtils]: 24: Hoare triple {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6881#true} is VALID [2022-04-28 07:36:24,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {6881#true} ~cond := #in~cond; {6881#true} is VALID [2022-04-28 07:36:24,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {6881#true} assume !(0 == ~cond); {6881#true} is VALID [2022-04-28 07:36:24,063 INFO L290 TraceCheckUtils]: 27: Hoare triple {6881#true} assume true; {6881#true} is VALID [2022-04-28 07:36:24,063 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6881#true} {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,063 INFO L290 TraceCheckUtils]: 29: Hoare triple {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,064 INFO L290 TraceCheckUtils]: 30: Hoare triple {6954#(and (= main_~z~0 0) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {6982#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,066 INFO L290 TraceCheckUtils]: 31: Hoare triple {6982#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (<= (div main_~b~0 2) main_~y~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {6986#(and (exists ((aux_div_v_main_~y~0_123_23 Int) (aux_mod_v_main_~y~0_123_23 Int)) (and (< aux_mod_v_main_~y~0_123_23 2) (<= 0 aux_mod_v_main_~y~0_123_23) (not (= aux_mod_v_main_~y~0_123_23 1)) (<= (div main_~b~0 2) (+ (* 2 aux_div_v_main_~y~0_123_23) aux_mod_v_main_~y~0_123_23)) (<= (div (+ (* 2 aux_div_v_main_~y~0_123_23) aux_mod_v_main_~y~0_123_23) 2) main_~y~0))) (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,067 INFO L290 TraceCheckUtils]: 32: Hoare triple {6986#(and (exists ((aux_div_v_main_~y~0_123_23 Int) (aux_mod_v_main_~y~0_123_23 Int)) (and (< aux_mod_v_main_~y~0_123_23 2) (<= 0 aux_mod_v_main_~y~0_123_23) (not (= aux_mod_v_main_~y~0_123_23 1)) (<= (div main_~b~0 2) (+ (* 2 aux_div_v_main_~y~0_123_23) aux_mod_v_main_~y~0_123_23)) (<= (div (+ (* 2 aux_div_v_main_~y~0_123_23) aux_mod_v_main_~y~0_123_23) 2) main_~y~0))) (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6990#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,068 INFO L290 TraceCheckUtils]: 33: Hoare triple {6990#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {6990#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,068 INFO L272 TraceCheckUtils]: 34: Hoare triple {6990#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {6881#true} is VALID [2022-04-28 07:36:24,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {6881#true} ~cond := #in~cond; {7000#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:24,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {7000#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7004#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:24,069 INFO L290 TraceCheckUtils]: 37: Hoare triple {7004#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7004#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:36:24,069 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7004#(not (= |__VERIFIER_assert_#in~cond| 0))} {6990#(and (= main_~z~0 0) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {7011#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,070 INFO L290 TraceCheckUtils]: 39: Hoare triple {7011#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {7011#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,071 INFO L290 TraceCheckUtils]: 40: Hoare triple {7011#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7018#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:36:24,080 INFO L290 TraceCheckUtils]: 41: Hoare triple {7018#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~y~0 2) 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7022#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_124_23 Int) (aux_mod_v_main_~y~0_124_23 Int)) (and (<= 0 aux_mod_v_main_~y~0_124_23) (= (+ main_~z~0 (* (div main_~x~0 2) (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23 1)) (= (div (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23) 2) main_~y~0) (< aux_mod_v_main_~y~0_124_23 2) (not (= aux_mod_v_main_~y~0_124_23 1)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:36:24,083 INFO L290 TraceCheckUtils]: 42: Hoare triple {7022#(and (= main_~z~0 0) (exists ((aux_div_v_main_~y~0_124_23 Int) (aux_mod_v_main_~y~0_124_23 Int)) (and (<= 0 aux_mod_v_main_~y~0_124_23) (= (+ main_~z~0 (* (div main_~x~0 2) (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23))) (* main_~b~0 main_~a~0)) (< (div (* (- 1) (div main_~b~0 2)) (- 2)) (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23 1)) (= (div (+ (* 2 aux_div_v_main_~y~0_124_23) aux_mod_v_main_~y~0_124_23) 2) main_~y~0) (< aux_mod_v_main_~y~0_124_23 2) (not (= aux_mod_v_main_~y~0_124_23 1)))) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7026#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (= main_~z~0 0) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:36:24,084 INFO L290 TraceCheckUtils]: 43: Hoare triple {7026#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (= main_~z~0 0) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} assume !!(#t~post6 < 100);havoc #t~post6; {7026#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (= main_~z~0 0) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} is VALID [2022-04-28 07:36:24,086 INFO L272 TraceCheckUtils]: 44: Hoare triple {7026#(and (= (* main_~b~0 main_~a~0) (+ main_~z~0 (* 2 (* (div main_~x~0 2) main_~y~0)))) (= main_~z~0 0) (< (div (* (div (* (- 1) (div main_~b~0 2)) (- 2)) (- 1)) (- 2)) (+ main_~y~0 1)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (= (mod main_~x~0 2) 0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7033#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 07:36:24,086 INFO L290 TraceCheckUtils]: 45: Hoare triple {7033#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7037#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:36:24,087 INFO L290 TraceCheckUtils]: 46: Hoare triple {7037#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6882#false} is VALID [2022-04-28 07:36:24,087 INFO L290 TraceCheckUtils]: 47: Hoare triple {6882#false} assume !false; {6882#false} is VALID [2022-04-28 07:36:24,087 INFO L134 CoverageAnalysis]: Checked inductivity of 45 backedges. 11 proven. 28 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-28 07:36:24,087 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 07:36:55,450 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:38:12,277 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 07:38:12,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1299985683] [2022-04-28 07:38:12,277 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 07:38:12,277 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1907151999] [2022-04-28 07:38:12,277 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1907151999] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 07:38:12,278 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 07:38:12,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2022-04-28 07:38:12,278 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 07:38:12,278 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1185869094] [2022-04-28 07:38:12,278 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1185869094] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 07:38:12,278 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 07:38:12,278 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [19] imperfect sequences [] total 19 [2022-04-28 07:38:12,278 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1677261674] [2022-04-28 07:38:12,278 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 07:38:12,279 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 48 [2022-04-28 07:38:12,279 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 07:38:12,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:38:13,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:13,476 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-28 07:38:13,476 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 07:38:13,476 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-28 07:38:13,477 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=116, Invalid=483, Unknown=1, NotChecked=0, Total=600 [2022-04-28 07:38:13,477 INFO L87 Difference]: Start difference. First operand 57 states and 62 transitions. Second operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:38:16,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:16,751 INFO L93 Difference]: Finished difference Result 94 states and 104 transitions. [2022-04-28 07:38:16,751 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 07:38:16,751 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) Word has length 48 [2022-04-28 07:38:16,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 07:38:16,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:38:16,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-28 07:38:16,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:38:16,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 70 transitions. [2022-04-28 07:38:16,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 70 transitions. [2022-04-28 07:38:16,843 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:16,845 INFO L225 Difference]: With dead ends: 94 [2022-04-28 07:38:16,845 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 07:38:16,845 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 42 SyntacticMatches, 4 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 309 ImplicationChecksByTransitivity, 7.4s TimeCoverageRelationStatistics Valid=193, Invalid=798, Unknown=1, NotChecked=0, Total=992 [2022-04-28 07:38:16,846 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 51 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 220 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 173 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 220 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 54 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 07:38:16,846 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [52 Valid, 173 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 220 Invalid, 0 Unknown, 54 Unchecked, 0.5s Time] [2022-04-28 07:38:16,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 07:38:16,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 85. [2022-04-28 07:38:16,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 07:38:16,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:38:16,993 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:38:16,993 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:38:16,995 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:16,995 INFO L93 Difference]: Finished difference Result 92 states and 102 transitions. [2022-04-28 07:38:16,995 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 102 transitions. [2022-04-28 07:38:16,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:38:16,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:38:16,996 INFO L74 IsIncluded]: Start isIncluded. First operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-28 07:38:16,996 INFO L87 Difference]: Start difference. First operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) Second operand 92 states. [2022-04-28 07:38:16,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 07:38:16,998 INFO L93 Difference]: Finished difference Result 92 states and 102 transitions. [2022-04-28 07:38:16,998 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 102 transitions. [2022-04-28 07:38:16,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 07:38:16,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 07:38:16,998 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 07:38:16,998 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 07:38:16,998 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 85 states, 64 states have (on average 1.125) internal successors, (72), 66 states have internal predecessors, (72), 11 states have call successors, (11), 10 states have call predecessors, (11), 9 states have return successors, (9), 8 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 07:38:17,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 92 transitions. [2022-04-28 07:38:17,000 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 92 transitions. Word has length 48 [2022-04-28 07:38:17,000 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 07:38:17,000 INFO L495 AbstractCegarLoop]: Abstraction has 85 states and 92 transitions. [2022-04-28 07:38:17,000 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 1.736842105263158) internal successors, (33), 17 states have internal predecessors, (33), 5 states have call successors, (7), 2 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 4 states have call successors, (5) [2022-04-28 07:38:17,000 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 85 states and 92 transitions. [2022-04-28 07:38:34,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 85 inductive. 0 not inductive. 7 times theorem prover too weak to decide inductivity. [2022-04-28 07:38:34,308 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2022-04-28 07:38:34,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-04-28 07:38:34,309 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 07:38:34,309 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 07:38:34,325 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 07:38:34,509 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:38:34,510 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 07:38:34,510 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 07:38:34,510 INFO L85 PathProgramCache]: Analyzing trace with hash -446937807, now seen corresponding path program 5 times [2022-04-28 07:38:34,510 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 07:38:34,510 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2107994371] [2022-04-28 07:38:40,884 INFO L89 AcceleratorJordan]: Jordan loop acceleration statistics: 1 HavocedVariables, 3 AssignedVariables, -1 ReadonlyVariables, Eigenvalues: {}, 0 SequentialAcceleration, 0 AlternatingAcceleration, 0 QuantifierFreeResult [2022-04-28 07:38:40,884 WARN L91 AcceleratorJordan]: Jordan acceleration failed, because NONLINEAR_UPDATE [2022-04-28 07:38:40,884 INFO L274 tedInterpolationCore]: Could not compute an accelerate. [2022-04-28 07:38:40,884 INFO L85 PathProgramCache]: Analyzing trace with hash -446937807, now seen corresponding path program 6 times [2022-04-28 07:38:40,884 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 07:38:40,885 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [568823257] [2022-04-28 07:38:40,885 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 07:38:40,885 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 07:38:40,895 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 07:38:40,897 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [318639939] [2022-04-28 07:38:40,897 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 07:38:40,897 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 07:38:40,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 07:38:40,898 INFO L229 MonitoredProcess]: Starting monitored process 16 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:38:40,899 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 07:38:40,946 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 3 check-sat command(s) [2022-04-28 07:38:40,946 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 07:38:40,947 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 07:38:40,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 07:38:40,969 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 07:38:50,010 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 07:39:11,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {7667#true} call ULTIMATE.init(); {7667#true} is VALID [2022-04-28 07:39:11,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {7667#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; {7667#true} is VALID [2022-04-28 07:39:11,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {7667#true} assume true; {7667#true} is VALID [2022-04-28 07:39:11,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7667#true} {7667#true} #65#return; {7667#true} is VALID [2022-04-28 07:39:11,050 INFO L272 TraceCheckUtils]: 4: Hoare triple {7667#true} call #t~ret7 := main(); {7667#true} is VALID [2022-04-28 07:39:11,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {7667#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {7667#true} is VALID [2022-04-28 07:39:11,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {7667#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {7667#true} is VALID [2022-04-28 07:39:11,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {7667#true} ~cond := #in~cond; {7693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 07:39:11,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {7693#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:39:11,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {7697#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7697#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 07:39:11,052 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7697#(not (= |assume_abort_if_not_#in~cond| 0))} {7667#true} #59#return; {7704#(<= 1 main_~b~0)} is VALID [2022-04-28 07:39:11,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {7704#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,053 INFO L290 TraceCheckUtils]: 12: Hoare triple {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,053 INFO L290 TraceCheckUtils]: 13: Hoare triple {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 100);havoc #t~post6; {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,053 INFO L272 TraceCheckUtils]: 14: Hoare triple {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7667#true} is VALID [2022-04-28 07:39:11,053 INFO L290 TraceCheckUtils]: 15: Hoare triple {7667#true} ~cond := #in~cond; {7667#true} is VALID [2022-04-28 07:39:11,053 INFO L290 TraceCheckUtils]: 16: Hoare triple {7667#true} assume !(0 == ~cond); {7667#true} is VALID [2022-04-28 07:39:11,053 INFO L290 TraceCheckUtils]: 17: Hoare triple {7667#true} assume true; {7667#true} is VALID [2022-04-28 07:39:11,054 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7667#true} {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} #61#return; {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,054 INFO L290 TraceCheckUtils]: 19: Hoare triple {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,055 INFO L290 TraceCheckUtils]: 20: Hoare triple {7708#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7736#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 07:39:11,055 INFO L290 TraceCheckUtils]: 21: Hoare triple {7736#(and (= main_~z~0 0) (not (= (mod main_~y~0 2) 1)) (= main_~b~0 main_~y~0) (<= 1 main_~b~0) (= main_~a~0 main_~x~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,056 INFO L290 TraceCheckUtils]: 22: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,056 INFO L290 TraceCheckUtils]: 23: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,056 INFO L272 TraceCheckUtils]: 24: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7667#true} is VALID [2022-04-28 07:39:11,056 INFO L290 TraceCheckUtils]: 25: Hoare triple {7667#true} ~cond := #in~cond; {7667#true} is VALID [2022-04-28 07:39:11,056 INFO L290 TraceCheckUtils]: 26: Hoare triple {7667#true} assume !(0 == ~cond); {7667#true} is VALID [2022-04-28 07:39:11,057 INFO L290 TraceCheckUtils]: 27: Hoare triple {7667#true} assume true; {7667#true} is VALID [2022-04-28 07:39:11,057 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7667#true} {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,057 INFO L290 TraceCheckUtils]: 29: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,059 INFO L290 TraceCheckUtils]: 32: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,059 INFO L290 TraceCheckUtils]: 33: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(#t~post6 < 100);havoc #t~post6; {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,059 INFO L272 TraceCheckUtils]: 34: Hoare triple {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {7667#true} is VALID [2022-04-28 07:39:11,059 INFO L290 TraceCheckUtils]: 35: Hoare triple {7667#true} ~cond := #in~cond; {7783#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 07:39:11,060 INFO L290 TraceCheckUtils]: 36: Hoare triple {7783#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7787#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:11,060 INFO L290 TraceCheckUtils]: 37: Hoare triple {7787#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7787#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 07:39:11,061 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7787#(not (= |__VERIFIER_assert_#in~cond| 0))} {7740#(and (= main_~z~0 0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} #61#return; {7794#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {7794#(and (= main_~z~0 0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume !!(0 != ~y~0); {7798#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} is VALID [2022-04-28 07:39:11,063 INFO L290 TraceCheckUtils]: 40: Hoare triple {7798#(and (= main_~z~0 0) (not (= main_~y~0 0)) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {7802#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= 0 (+ main_~y~0 1)) (= (+ main_~x~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} is VALID [2022-04-28 07:39:11,069 INFO L290 TraceCheckUtils]: 41: Hoare triple {7802#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~z~0 main_~x~0) (not (= (mod main_~b~0 2) 1)) (<= 1 main_~b~0) (<= 0 (+ main_~y~0 1)) (= (+ main_~x~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {7806#(and (not (= (mod main_~b~0 2) 1)) (= main_~x~0 (* main_~z~0 2)) (<= 1 main_~b~0) (exists ((aux_mod_v_main_~y~0_140_29 Int) (aux_div_v_main_~y~0_140_29 Int)) (and (<= 0 (+ (* 2 aux_div_v_main_~y~0_140_29) aux_mod_v_main_~y~0_140_29)) (<= 1 aux_mod_v_main_~y~0_140_29) (= (+ (* main_~z~0 aux_mod_v_main_~y~0_140_29) (* 2 (* main_~z~0 aux_div_v_main_~y~0_140_29))) (* main_~b~0 main_~a~0)) (< aux_mod_v_main_~y~0_140_29 2) (= (div (+ (- 1) (* 2 aux_div_v_main_~y~0_140_29) aux_mod_v_main_~y~0_140_29) 2) main_~y~0))))} is VALID