/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/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 14:27:40,823 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 14:27:40,824 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 14:27:40,865 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 14:27:40,865 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 14:27:40,866 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 14:27:40,869 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 14:27:40,874 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 14:27:40,875 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 14:27:40,879 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 14:27:40,880 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 14:27:40,881 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 14:27:40,881 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 14:27:40,883 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 14:27:40,884 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 14:27:40,886 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 14:27:40,886 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 14:27:40,887 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 14:27:40,890 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 14:27:40,894 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 14:27:40,896 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 14:27:40,897 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 14:27:40,897 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 14:27:40,898 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 14:27:40,900 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 14:27:40,906 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 14:27:40,906 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 14:27:40,906 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 14:27:40,907 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 14:27:40,907 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 14:27:40,908 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 14:27:40,908 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 14:27:40,909 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 14:27:40,910 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 14:27:40,910 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 14:27:40,911 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 14:27:40,911 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 14:27:40,911 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 14:27:40,912 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 14:27:40,912 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 14:27:40,912 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 14:27:40,914 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 14:27:40,914 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 14:27:40,948 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 14:27:40,948 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 14:27:40,949 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 14:27:40,949 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 14:27:40,949 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 14:27:40,949 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 14:27:40,950 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 14:27:40,950 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 14:27:40,950 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 14:27:40,951 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 14:27:40,951 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 14:27:40,951 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 14:27:40,951 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 14:27:40,951 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 14:27:40,952 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 14:27:40,952 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 14:27:40,952 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 14:27:40,953 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 14:27:40,954 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 14:27:40,954 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 14:27:40,958 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 14:27:40,958 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 14:27:40,959 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 14:27:40,959 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 14:27:40,959 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:27:40,959 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 14:27:40,959 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 14:27:40,960 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode 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-27 14:27:41,164 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 14:27:41,185 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 14:27:41,187 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 14:27:41,188 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 14:27:41,189 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 14:27:41,190 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-27 14:27:41,239 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4e9a12d5d/e24ba886ad59422a92d2c12976d18780/FLAGa25ddbbee [2022-04-27 14:27:41,584 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 14:27:41,584 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c [2022-04-27 14:27:41,588 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4e9a12d5d/e24ba886ad59422a92d2c12976d18780/FLAGa25ddbbee [2022-04-27 14:27:42,006 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4e9a12d5d/e24ba886ad59422a92d2c12976d18780 [2022-04-27 14:27:42,008 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 14:27:42,009 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 14:27:42,010 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 14:27:42,010 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 14:27:42,013 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 14:27:42,013 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,014 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@493c174a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42, skipping insertion in model container [2022-04-27 14:27:42,014 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,019 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 14:27:42,029 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 14:27:42,150 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c[537,550] [2022-04-27 14:27:42,162 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:27:42,173 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 14:27:42,183 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/prodbin-ll_valuebound2.c[537,550] [2022-04-27 14:27:42,203 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 14:27:42,214 INFO L208 MainTranslator]: Completed translation [2022-04-27 14:27:42,214 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42 WrapperNode [2022-04-27 14:27:42,214 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 14:27:42,221 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 14:27:42,222 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 14:27:42,222 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 14:27:42,231 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,231 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,237 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,237 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,243 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,246 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,248 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,252 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 14:27:42,253 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 14:27:42,253 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 14:27:42,253 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 14:27:42,254 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (1/1) ... [2022-04-27 14:27:42,259 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 14:27:42,267 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:42,284 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-27 14:27:42,302 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-27 14:27:42,316 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 14:27:42,316 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 14:27:42,316 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 14:27:42,317 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 14:27:42,319 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 14:27:42,319 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 14:27:42,319 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 14:27:42,319 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 14:27:42,319 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 14:27:42,319 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 14:27:42,319 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 14:27:42,320 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 14:27:42,378 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 14:27:42,380 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 14:27:42,495 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 14:27:42,501 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 14:27:42,501 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-27 14:27:42,502 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:27:42 BoogieIcfgContainer [2022-04-27 14:27:42,502 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 14:27:42,504 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 14:27:42,504 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 14:27:42,521 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 14:27:42,522 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 02:27:42" (1/3) ... [2022-04-27 14:27:42,522 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75e0cdfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:27:42, skipping insertion in model container [2022-04-27 14:27:42,522 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 02:27:42" (2/3) ... [2022-04-27 14:27:42,523 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@75e0cdfb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 02:27:42, skipping insertion in model container [2022-04-27 14:27:42,523 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 02:27:42" (3/3) ... [2022-04-27 14:27:42,524 INFO L111 eAbstractionObserver]: Analyzing ICFG prodbin-ll_valuebound2.c [2022-04-27 14:27:42,534 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 14:27:42,534 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 14:27:42,581 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 14:27:42,588 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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@318cea69, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@41d20b9c [2022-04-27 14:27:42,588 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 14:27:42,600 INFO L276 IsEmpty]: Start isEmpty. Operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:27:42,608 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 14:27:42,608 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:42,608 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:42,609 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:42,613 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:42,613 INFO L85 PathProgramCache]: Analyzing trace with hash -589322634, now seen corresponding path program 1 times [2022-04-27 14:27:42,621 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:42,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [334380972] [2022-04-27 14:27:42,621 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:42,622 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:42,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:42,756 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 14:27:42,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:42,787 INFO L290 TraceCheckUtils]: 0: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-27 14:27:42,787 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:27:42,788 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-27 14:27:42,789 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 14:27:42,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:42,815 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,820 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,821 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 14:27:42,821 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 14:27:42,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:42,831 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,831 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,832 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,832 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 14:27:42,832 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 14:27:42,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:42,838 INFO L290 TraceCheckUtils]: 0: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,839 INFO L290 TraceCheckUtils]: 1: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,839 INFO L290 TraceCheckUtils]: 2: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,839 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-27 14:27:42,845 INFO L272 TraceCheckUtils]: 0: Hoare triple {35#true} call ULTIMATE.init(); {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 14:27:42,845 INFO L290 TraceCheckUtils]: 1: Hoare triple {52#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(13, 2);call #Ultimate.allocInit(12, 3); {35#true} is VALID [2022-04-27 14:27:42,846 INFO L290 TraceCheckUtils]: 2: Hoare triple {35#true} assume true; {35#true} is VALID [2022-04-27 14:27:42,846 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35#true} {35#true} #71#return; {35#true} is VALID [2022-04-27 14:27:42,846 INFO L272 TraceCheckUtils]: 4: Hoare triple {35#true} call #t~ret6 := main(); {35#true} is VALID [2022-04-27 14:27:42,846 INFO L290 TraceCheckUtils]: 5: Hoare triple {35#true} havoc ~a~0;havoc ~b~0;havoc ~x~0;havoc ~y~0;havoc ~z~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~a~0 := #t~nondet4;havoc #t~nondet4; {35#true} is VALID [2022-04-27 14:27:42,847 INFO L272 TraceCheckUtils]: 6: Hoare triple {35#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:42,847 INFO L290 TraceCheckUtils]: 7: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,847 INFO L290 TraceCheckUtils]: 8: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,847 INFO L290 TraceCheckUtils]: 9: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,848 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {36#false} {35#true} #61#return; {36#false} is VALID [2022-04-27 14:27:42,848 INFO L290 TraceCheckUtils]: 11: Hoare triple {36#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {36#false} is VALID [2022-04-27 14:27:42,848 INFO L272 TraceCheckUtils]: 12: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:42,848 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,849 INFO L290 TraceCheckUtils]: 15: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,849 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {36#false} {36#false} #63#return; {36#false} is VALID [2022-04-27 14:27:42,849 INFO L272 TraceCheckUtils]: 17: Hoare triple {36#false} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {35#true} is VALID [2022-04-27 14:27:42,849 INFO L290 TraceCheckUtils]: 18: Hoare triple {35#true} ~cond := #in~cond; {35#true} is VALID [2022-04-27 14:27:42,851 INFO L290 TraceCheckUtils]: 19: Hoare triple {35#true} assume 0 == ~cond;assume false; {36#false} is VALID [2022-04-27 14:27:42,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {36#false} assume true; {36#false} is VALID [2022-04-27 14:27:42,852 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {36#false} {36#false} #65#return; {36#false} is VALID [2022-04-27 14:27:42,852 INFO L290 TraceCheckUtils]: 22: Hoare triple {36#false} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {36#false} is VALID [2022-04-27 14:27:42,852 INFO L290 TraceCheckUtils]: 23: Hoare triple {36#false} assume false; {36#false} is VALID [2022-04-27 14:27:42,852 INFO L272 TraceCheckUtils]: 24: Hoare triple {36#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {36#false} is VALID [2022-04-27 14:27:42,852 INFO L290 TraceCheckUtils]: 25: Hoare triple {36#false} ~cond := #in~cond; {36#false} is VALID [2022-04-27 14:27:42,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {36#false} assume 0 == ~cond; {36#false} is VALID [2022-04-27 14:27:42,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {36#false} assume !false; {36#false} is VALID [2022-04-27 14:27:42,853 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:27:42,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:42,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [334380972] [2022-04-27 14:27:42,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [334380972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:42,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:42,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 14:27:42,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1023336684] [2022-04-27 14:27:42,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:42,861 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 14:27:42,862 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:42,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:27:42,903 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:42,904 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 14:27:42,904 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:42,933 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 14:27:42,934 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 14:27:42,937 INFO L87 Difference]: Start difference. First operand has 32 states, 19 states have (on average 1.368421052631579) internal successors, (26), 20 states have internal predecessors, (26), 7 states have call successors, (7), 4 states have call predecessors, (7), 4 states have return successors, (7), 7 states have call predecessors, (7), 7 states have call successors, (7) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:27:43,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,093 INFO L93 Difference]: Finished difference Result 57 states and 77 transitions. [2022-04-27 14:27:43,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 14:27:43,094 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 14:27:43,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:43,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:27:43,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:27:43,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:27:43,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 77 transitions. [2022-04-27 14:27:43,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 77 transitions. [2022-04-27 14:27:43,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:43,231 INFO L225 Difference]: With dead ends: 57 [2022-04-27 14:27:43,231 INFO L226 Difference]: Without dead ends: 27 [2022-04-27 14:27:43,233 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 14:27:43,239 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 19 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 7 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 7 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:43,241 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 34 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 7 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:27:43,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2022-04-27 14:27:43,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2022-04-27 14:27:43,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:43,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:27:43,269 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:27:43,269 INFO L87 Difference]: Start difference. First operand 27 states. Second operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:27:43,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,272 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-27 14:27:43,272 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:43,273 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:43,273 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:43,273 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-27 14:27:43,274 INFO L87 Difference]: Start difference. First operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) Second operand 27 states. [2022-04-27 14:27:43,279 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,280 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2022-04-27 14:27:43,280 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:43,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:43,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:43,280 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:43,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:43,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 16 states have (on average 1.1875) internal successors, (19), 17 states have internal predecessors, (19), 7 states have call successors, (7), 4 states have call predecessors, (7), 3 states have return successors, (5), 5 states have call predecessors, (5), 5 states have call successors, (5) [2022-04-27 14:27:43,285 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-27 14:27:43,286 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 28 [2022-04-27 14:27:43,286 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:43,287 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-27 14:27:43,288 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 14:27:43,288 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 14:27:43,290 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 14:27:43,290 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:43,290 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:43,290 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 14:27:43,291 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:43,295 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:43,296 INFO L85 PathProgramCache]: Analyzing trace with hash -1736242504, now seen corresponding path program 1 times [2022-04-27 14:27:43,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:43,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [859865580] [2022-04-27 14:27:43,296 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:43,296 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:43,325 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:43,326 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1189938128] [2022-04-27 14:27:43,326 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:43,326 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:43,326 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:43,335 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-27 14:27:43,350 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-27 14:27:43,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:43,408 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 14:27:43,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:43,429 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:43,606 INFO L272 TraceCheckUtils]: 0: Hoare triple {224#true} call ULTIMATE.init(); {224#true} is VALID [2022-04-27 14:27:43,607 INFO L290 TraceCheckUtils]: 1: Hoare triple {224#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); {224#true} is VALID [2022-04-27 14:27:43,607 INFO L290 TraceCheckUtils]: 2: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:43,607 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {224#true} {224#true} #71#return; {224#true} is VALID [2022-04-27 14:27:43,607 INFO L272 TraceCheckUtils]: 4: Hoare triple {224#true} call #t~ret6 := main(); {224#true} is VALID [2022-04-27 14:27:43,608 INFO L290 TraceCheckUtils]: 5: Hoare triple {224#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; {224#true} is VALID [2022-04-27 14:27:43,608 INFO L272 TraceCheckUtils]: 6: Hoare triple {224#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:43,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:43,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:43,608 INFO L290 TraceCheckUtils]: 9: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:43,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {224#true} {224#true} #61#return; {224#true} is VALID [2022-04-27 14:27:43,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {224#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {224#true} is VALID [2022-04-27 14:27:43,609 INFO L272 TraceCheckUtils]: 12: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:43,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:43,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:43,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:43,610 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {224#true} {224#true} #63#return; {224#true} is VALID [2022-04-27 14:27:43,610 INFO L272 TraceCheckUtils]: 17: Hoare triple {224#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {224#true} is VALID [2022-04-27 14:27:43,610 INFO L290 TraceCheckUtils]: 18: Hoare triple {224#true} ~cond := #in~cond; {224#true} is VALID [2022-04-27 14:27:43,610 INFO L290 TraceCheckUtils]: 19: Hoare triple {224#true} assume !(0 == ~cond); {224#true} is VALID [2022-04-27 14:27:43,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {224#true} assume true; {224#true} is VALID [2022-04-27 14:27:43,611 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {224#true} {224#true} #65#return; {224#true} is VALID [2022-04-27 14:27:43,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {224#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:43,612 INFO L290 TraceCheckUtils]: 23: Hoare triple {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} assume !false; {295#(and (= main_~z~0 0) (= main_~b~0 main_~y~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:43,613 INFO L272 TraceCheckUtils]: 24: Hoare triple {295#(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)); {302#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:27:43,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {302#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {306#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:27:43,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {306#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {225#false} is VALID [2022-04-27 14:27:43,614 INFO L290 TraceCheckUtils]: 27: Hoare triple {225#false} assume !false; {225#false} is VALID [2022-04-27 14:27:43,614 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:27:43,614 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:27:43,615 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:43,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [859865580] [2022-04-27 14:27:43,615 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:43,615 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1189938128] [2022-04-27 14:27:43,615 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1189938128] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:43,616 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:43,616 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 14:27:43,616 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [915090317] [2022-04-27 14:27:43,617 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:43,617 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 14:27:43,618 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:43,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 14:27:43,637 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:43,637 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 14:27:43,637 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:43,638 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 14:27:43,638 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 14:27:43,638 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 14:27:43,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,774 INFO L93 Difference]: Finished difference Result 39 states and 45 transitions. [2022-04-27 14:27:43,774 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 14:27:43,775 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 14:27:43,775 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:43,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 14:27:43,777 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-27 14:27:43,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 14:27:43,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 45 transitions. [2022-04-27 14:27:43,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 45 transitions. [2022-04-27 14:27:43,816 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-27 14:27:43,818 INFO L225 Difference]: With dead ends: 39 [2022-04-27 14:27:43,818 INFO L226 Difference]: Without dead ends: 37 [2022-04-27 14:27:43,818 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 14:27:43,819 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 8 mSDsluCounter, 62 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:43,820 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 87 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:27:43,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2022-04-27 14:27:43,826 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 33. [2022-04-27 14:27:43,826 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:43,826 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:43,827 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:43,827 INFO L87 Difference]: Start difference. First operand 37 states. Second operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:43,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,830 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-27 14:27:43,830 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-27 14:27:43,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:43,830 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:43,831 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-27 14:27:43,831 INFO L87 Difference]: Start difference. First operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) Second operand 37 states. [2022-04-27 14:27:43,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:43,833 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2022-04-27 14:27:43,834 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 43 transitions. [2022-04-27 14:27:43,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:43,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:43,834 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:43,834 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:43,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 20 states have (on average 1.15) internal successors, (23), 22 states have internal predecessors, (23), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 5 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:43,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-04-27 14:27:43,837 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 28 [2022-04-27 14:27:43,837 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:43,837 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-04-27 14:27:43,837 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, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 14:27:43,837 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-04-27 14:27:43,838 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 14:27:43,838 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:43,838 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:43,890 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-27 14:27:44,051 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-27 14:27:44,052 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:44,053 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:44,053 INFO L85 PathProgramCache]: Analyzing trace with hash 1911690432, now seen corresponding path program 1 times [2022-04-27 14:27:44,053 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:44,053 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1359969039] [2022-04-27 14:27:44,053 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:44,053 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:44,076 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:44,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1971573222] [2022-04-27 14:27:44,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:44,077 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:44,077 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:44,079 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-27 14:27:44,080 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-27 14:27:44,134 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:44,135 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 14:27:44,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:44,145 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:44,264 INFO L272 TraceCheckUtils]: 0: Hoare triple {491#true} call ULTIMATE.init(); {491#true} is VALID [2022-04-27 14:27:44,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {491#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); {491#true} is VALID [2022-04-27 14:27:44,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:44,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {491#true} {491#true} #71#return; {491#true} is VALID [2022-04-27 14:27:44,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {491#true} call #t~ret6 := main(); {491#true} is VALID [2022-04-27 14:27:44,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {491#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; {491#true} is VALID [2022-04-27 14:27:44,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {491#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:44,266 INFO L290 TraceCheckUtils]: 7: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:44,266 INFO L290 TraceCheckUtils]: 8: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:44,266 INFO L290 TraceCheckUtils]: 9: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:44,266 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {491#true} {491#true} #61#return; {491#true} is VALID [2022-04-27 14:27:44,266 INFO L290 TraceCheckUtils]: 11: Hoare triple {491#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {491#true} is VALID [2022-04-27 14:27:44,266 INFO L272 TraceCheckUtils]: 12: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:44,267 INFO L290 TraceCheckUtils]: 13: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:44,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:44,267 INFO L290 TraceCheckUtils]: 15: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:44,267 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {491#true} {491#true} #63#return; {491#true} is VALID [2022-04-27 14:27:44,267 INFO L272 TraceCheckUtils]: 17: Hoare triple {491#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:44,268 INFO L290 TraceCheckUtils]: 18: Hoare triple {491#true} ~cond := #in~cond; {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:27:44,268 INFO L290 TraceCheckUtils]: 19: Hoare triple {550#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:44,269 INFO L290 TraceCheckUtils]: 20: Hoare triple {554#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {554#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:44,269 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {554#(not (= |assume_abort_if_not_#in~cond| 0))} {491#true} #65#return; {561#(<= 1 main_~b~0)} is VALID [2022-04-27 14:27:44,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {561#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:44,270 INFO L290 TraceCheckUtils]: 23: Hoare triple {565#(<= 1 main_~y~0)} assume !false; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:44,271 INFO L272 TraceCheckUtils]: 24: Hoare triple {565#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {491#true} is VALID [2022-04-27 14:27:44,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {491#true} ~cond := #in~cond; {491#true} is VALID [2022-04-27 14:27:44,271 INFO L290 TraceCheckUtils]: 26: Hoare triple {491#true} assume !(0 == ~cond); {491#true} is VALID [2022-04-27 14:27:44,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {491#true} assume true; {491#true} is VALID [2022-04-27 14:27:44,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {491#true} {565#(<= 1 main_~y~0)} #67#return; {565#(<= 1 main_~y~0)} is VALID [2022-04-27 14:27:44,272 INFO L290 TraceCheckUtils]: 29: Hoare triple {565#(<= 1 main_~y~0)} assume !(0 != ~y~0); {492#false} is VALID [2022-04-27 14:27:44,273 INFO L272 TraceCheckUtils]: 30: Hoare triple {492#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {492#false} is VALID [2022-04-27 14:27:44,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {492#false} ~cond := #in~cond; {492#false} is VALID [2022-04-27 14:27:44,273 INFO L290 TraceCheckUtils]: 32: Hoare triple {492#false} assume 0 == ~cond; {492#false} is VALID [2022-04-27 14:27:44,273 INFO L290 TraceCheckUtils]: 33: Hoare triple {492#false} assume !false; {492#false} is VALID [2022-04-27 14:27:44,273 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 14:27:44,274 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:27:44,274 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:27:44,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1359969039] [2022-04-27 14:27:44,274 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:27:44,274 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1971573222] [2022-04-27 14:27:44,274 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1971573222] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:27:44,274 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:27:44,275 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 14:27:44,275 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1292594556] [2022-04-27 14:27:44,275 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:27:44,276 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 14:27:44,276 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:27:44,276 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:27:44,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:27:44,300 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 14:27:44,300 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:27:44,300 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 14:27:44,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 14:27:44,301 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:27:44,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:44,462 INFO L93 Difference]: Finished difference Result 43 states and 48 transitions. [2022-04-27 14:27:44,462 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 14:27:44,462 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 14:27:44,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:27:44,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:27:44,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-27 14:27:44,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:27:44,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 45 transitions. [2022-04-27 14:27:44,467 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 45 transitions. [2022-04-27 14:27:44,503 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-27 14:27:44,504 INFO L225 Difference]: With dead ends: 43 [2022-04-27 14:27:44,505 INFO L226 Difference]: Without dead ends: 36 [2022-04-27 14:27:44,505 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 14:27:44,506 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 14 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 89 SdHoareTripleChecker+Invalid, 60 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 14:27:44,506 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [15 Valid, 89 Invalid, 60 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 14:27:44,507 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-27 14:27:44,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 34. [2022-04-27 14:27:44,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:27:44,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:44,515 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:44,515 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:44,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:44,517 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-27 14:27:44,518 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-27 14:27:44,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:44,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:44,518 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-27 14:27:44,519 INFO L87 Difference]: Start difference. First operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) Second operand 36 states. [2022-04-27 14:27:44,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:27:44,521 INFO L93 Difference]: Finished difference Result 36 states and 41 transitions. [2022-04-27 14:27:44,521 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 41 transitions. [2022-04-27 14:27:44,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:27:44,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:27:44,521 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:27:44,521 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:27:44,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 21 states have (on average 1.1428571428571428) internal successors, (24), 22 states have internal predecessors, (24), 8 states have call successors, (8), 5 states have call predecessors, (8), 4 states have return successors, (6), 6 states have call predecessors, (6), 6 states have call successors, (6) [2022-04-27 14:27:44,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-04-27 14:27:44,523 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 34 [2022-04-27 14:27:44,523 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:27:44,523 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-04-27 14:27:44,524 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:27:44,524 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-04-27 14:27:44,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-04-27 14:27:44,525 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:27:44,525 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:27:44,550 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-27 14:27:44,741 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-27 14:27:44,742 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:27:44,742 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:27:44,742 INFO L85 PathProgramCache]: Analyzing trace with hash 2022075506, now seen corresponding path program 1 times [2022-04-27 14:27:44,742 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:27:44,743 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564992164] [2022-04-27 14:27:44,743 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:44,743 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:27:44,760 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:27:44,760 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [444448880] [2022-04-27 14:27:44,761 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:27:44,761 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:27:44,761 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:27:44,772 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-27 14:27:44,773 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-27 14:27:44,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:44,831 INFO L263 TraceCheckSpWp]: Trace formula consists of 111 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-27 14:27:44,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:27:44,847 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:27:45,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-27 14:27:45,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#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); {783#true} is VALID [2022-04-27 14:27:45,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:45,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-27 14:27:46,000 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-27 14:27:46,000 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#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; {783#true} is VALID [2022-04-27 14:27:46,000 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:46,001 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:27:46,001 INFO L290 TraceCheckUtils]: 8: Hoare triple {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:46,002 INFO L290 TraceCheckUtils]: 9: Hoare triple {813#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:46,003 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {813#(not (= |assume_abort_if_not_#in~cond| 0))} {783#true} #61#return; {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-27 14:27:46,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} is VALID [2022-04-27 14:27:46,004 INFO L272 TraceCheckUtils]: 12: Hoare triple {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:46,013 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:27:46,013 INFO L290 TraceCheckUtils]: 14: Hoare triple {809#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:46,014 INFO L290 TraceCheckUtils]: 15: Hoare triple {813#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {813#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:27:46,015 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {813#(not (= |assume_abort_if_not_#in~cond| 0))} {820#(and (<= 0 main_~a~0) (<= main_~a~0 2))} #63#return; {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 14:27:46,015 INFO L272 TraceCheckUtils]: 17: Hoare triple {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:46,015 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:27:46,015 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:27:46,015 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:27:46,016 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} #65#return; {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 14:27:46,016 INFO L290 TraceCheckUtils]: 22: Hoare triple {839#(and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:46,017 INFO L290 TraceCheckUtils]: 23: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !false; {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:46,017 INFO L272 TraceCheckUtils]: 24: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-27 14:27:46,018 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:27:46,018 INFO L290 TraceCheckUtils]: 26: Hoare triple {868#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:27:46,018 INFO L290 TraceCheckUtils]: 27: Hoare triple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:27:46,019 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} #67#return; {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:46,020 INFO L290 TraceCheckUtils]: 29: Hoare triple {858#(and (= main_~z~0 0) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume !!(0 != ~y~0); {882#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} is VALID [2022-04-27 14:27:46,021 INFO L290 TraceCheckUtils]: 30: Hoare triple {882#(and (= main_~z~0 0) (not (= main_~y~0 0)) (<= main_~b~0 2) (= main_~b~0 main_~y~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= main_~a~0 main_~x~0))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {886#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:27:46,023 INFO L290 TraceCheckUtils]: 31: Hoare triple {886#(and (<= 1 (mod (+ main_~y~0 1) 2)) (= main_~b~0 (+ main_~y~0 1)) (= main_~z~0 main_~x~0) (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (= main_~a~0 main_~x~0) (<= 0 (+ main_~y~0 1)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:27:46,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} assume !false; {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} is VALID [2022-04-27 14:27:46,025 INFO L272 TraceCheckUtils]: 33: Hoare triple {890#(and (= main_~a~0 main_~z~0) (<= 1 (mod main_~b~0 2)) (<= main_~b~0 2) (= (* main_~a~0 2) main_~x~0) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0) (= (div (+ (- 1) main_~b~0) 2) main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:27:46,026 INFO L290 TraceCheckUtils]: 34: Hoare triple {897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:27:46,026 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-27 14:27:46,026 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-27 14:27:46,027 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 14:27:46,027 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:28:35,619 INFO L290 TraceCheckUtils]: 36: Hoare triple {784#false} assume !false; {784#false} is VALID [2022-04-27 14:28:35,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {784#false} is VALID [2022-04-27 14:28:35,620 INFO L290 TraceCheckUtils]: 34: Hoare triple {897#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {901#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:35,620 INFO L272 TraceCheckUtils]: 33: Hoare triple {917#(= (+ 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)); {897#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:28:35,621 INFO L290 TraceCheckUtils]: 32: Hoare triple {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} assume !false; {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:28:35,625 INFO L290 TraceCheckUtils]: 31: Hoare triple {924#(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); {917#(= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:28:35,627 INFO L290 TraceCheckUtils]: 30: Hoare triple {928#(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; {924#(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-27 14:28:35,627 INFO L290 TraceCheckUtils]: 29: Hoare triple {928#(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); {928#(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-27 14:28:36,169 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} {783#true} #67#return; {928#(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-27 14:28:36,170 INFO L290 TraceCheckUtils]: 27: Hoare triple {872#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:36,170 INFO L290 TraceCheckUtils]: 26: Hoare triple {944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {872#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:36,170 INFO L290 TraceCheckUtils]: 25: Hoare triple {783#true} ~cond := #in~cond; {944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:28:36,171 INFO L272 TraceCheckUtils]: 24: Hoare triple {783#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:36,171 INFO L290 TraceCheckUtils]: 23: Hoare triple {783#true} assume !false; {783#true} is VALID [2022-04-27 14:28:36,171 INFO L290 TraceCheckUtils]: 22: Hoare triple {783#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {783#true} is VALID [2022-04-27 14:28:36,171 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {783#true} {783#true} #65#return; {783#true} is VALID [2022-04-27 14:28:36,171 INFO L290 TraceCheckUtils]: 20: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:36,171 INFO L290 TraceCheckUtils]: 19: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:36,171 INFO L290 TraceCheckUtils]: 18: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:36,171 INFO L272 TraceCheckUtils]: 17: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:36,172 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {783#true} {783#true} #63#return; {783#true} is VALID [2022-04-27 14:28:36,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:36,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:36,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:36,172 INFO L272 TraceCheckUtils]: 12: Hoare triple {783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:36,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {783#true} is VALID [2022-04-27 14:28:36,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {783#true} {783#true} #61#return; {783#true} is VALID [2022-04-27 14:28:36,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:36,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {783#true} assume !(0 == ~cond); {783#true} is VALID [2022-04-27 14:28:36,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {783#true} ~cond := #in~cond; {783#true} is VALID [2022-04-27 14:28:36,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {783#true} is VALID [2022-04-27 14:28:36,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {783#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; {783#true} is VALID [2022-04-27 14:28:36,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {783#true} call #t~ret6 := main(); {783#true} is VALID [2022-04-27 14:28:36,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {783#true} {783#true} #71#return; {783#true} is VALID [2022-04-27 14:28:36,174 INFO L290 TraceCheckUtils]: 2: Hoare triple {783#true} assume true; {783#true} is VALID [2022-04-27 14:28:36,174 INFO L290 TraceCheckUtils]: 1: Hoare triple {783#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); {783#true} is VALID [2022-04-27 14:28:36,174 INFO L272 TraceCheckUtils]: 0: Hoare triple {783#true} call ULTIMATE.init(); {783#true} is VALID [2022-04-27 14:28:36,174 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 3 proven. 1 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 14:28:36,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:28:36,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564992164] [2022-04-27 14:28:36,174 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:28:36,175 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [444448880] [2022-04-27 14:28:36,175 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [444448880] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:28:36,175 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:28:36,175 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 9] total 18 [2022-04-27 14:28:36,175 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [295105368] [2022-04-27 14:28:36,175 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:28:36,176 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 37 [2022-04-27 14:28:36,176 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:28:36,177 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 14:28:36,398 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:28:36,398 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 14:28:36,398 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:28:36,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 14:28:36,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=248, Unknown=0, NotChecked=0, Total=306 [2022-04-27 14:28:36,399 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 14:28:40,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:40,689 INFO L93 Difference]: Finished difference Result 60 states and 70 transitions. [2022-04-27 14:28:40,689 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 14:28:40,689 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) Word has length 37 [2022-04-27 14:28:40,690 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:28:40,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 14:28:40,692 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-27 14:28:40,693 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 14:28:40,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 67 transitions. [2022-04-27 14:28:40,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 67 transitions. [2022-04-27 14:28:40,784 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:28:40,787 INFO L225 Difference]: With dead ends: 60 [2022-04-27 14:28:40,787 INFO L226 Difference]: Without dead ends: 43 [2022-04-27 14:28:40,787 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 55 SyntacticMatches, 3 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 98 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=106, Invalid=446, Unknown=0, NotChecked=0, Total=552 [2022-04-27 14:28:40,788 INFO L413 NwaCegarLoop]: 20 mSDtfsCounter, 36 mSDsluCounter, 135 mSDsCounter, 0 mSdLazyCounter, 275 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 307 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 275 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-27 14:28:40,788 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 155 Invalid, 307 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 275 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-27 14:28:40,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-27 14:28:40,811 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-27 14:28:40,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:28:40,812 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:40,812 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:40,812 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:40,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:40,814 INFO L93 Difference]: Finished difference Result 43 states and 47 transitions. [2022-04-27 14:28:40,814 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-27 14:28:40,815 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:40,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:40,816 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 43 states. [2022-04-27 14:28:40,816 INFO L87 Difference]: Start difference. First operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) Second operand 43 states. [2022-04-27 14:28:40,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:40,818 INFO L93 Difference]: Finished difference Result 43 states and 47 transitions. [2022-04-27 14:28:40,818 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 47 transitions. [2022-04-27 14:28:40,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:40,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:40,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:28:40,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:28:40,819 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 27 states have (on average 1.1111111111111112) internal successors, (30), 29 states have internal predecessors, (30), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (7), 6 states have call predecessors, (7), 7 states have call successors, (7) [2022-04-27 14:28:40,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 46 transitions. [2022-04-27 14:28:40,821 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 46 transitions. Word has length 37 [2022-04-27 14:28:40,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:28:40,821 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 46 transitions. [2022-04-27 14:28:40,821 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 1.7222222222222223) internal successors, (31), 16 states have internal predecessors, (31), 6 states have call successors, (11), 2 states have call predecessors, (11), 3 states have return successors, (9), 5 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-27 14:28:40,821 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 46 transitions. [2022-04-27 14:28:40,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-27 14:28:40,822 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:28:40,822 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, 1, 1, 1, 1, 1] [2022-04-27 14:28:40,843 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-27 14:28:41,027 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-27 14:28:41,028 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:28:41,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:28:41,028 INFO L85 PathProgramCache]: Analyzing trace with hash -1938436100, now seen corresponding path program 1 times [2022-04-27 14:28:41,028 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:28:41,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1744737318] [2022-04-27 14:28:41,028 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:41,028 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:28:41,051 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:28:41,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [530690205] [2022-04-27 14:28:41,051 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:41,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:28:41,051 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:28:41,052 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-27 14:28:41,062 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-27 14:28:41,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:41,110 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 14:28:41,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:41,119 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:28:41,539 INFO L272 TraceCheckUtils]: 0: Hoare triple {1266#true} call ULTIMATE.init(); {1266#true} is VALID [2022-04-27 14:28:41,539 INFO L290 TraceCheckUtils]: 1: Hoare triple {1266#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); {1266#true} is VALID [2022-04-27 14:28:41,539 INFO L290 TraceCheckUtils]: 2: Hoare triple {1266#true} assume true; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1266#true} {1266#true} #71#return; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L272 TraceCheckUtils]: 4: Hoare triple {1266#true} call #t~ret6 := main(); {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L290 TraceCheckUtils]: 5: Hoare triple {1266#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; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L272 TraceCheckUtils]: 6: Hoare triple {1266#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L290 TraceCheckUtils]: 7: Hoare triple {1266#true} ~cond := #in~cond; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L290 TraceCheckUtils]: 8: Hoare triple {1266#true} assume !(0 == ~cond); {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L290 TraceCheckUtils]: 9: Hoare triple {1266#true} assume true; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1266#true} {1266#true} #61#return; {1266#true} is VALID [2022-04-27 14:28:41,540 INFO L290 TraceCheckUtils]: 11: Hoare triple {1266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L272 TraceCheckUtils]: 12: Hoare triple {1266#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L290 TraceCheckUtils]: 13: Hoare triple {1266#true} ~cond := #in~cond; {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L290 TraceCheckUtils]: 14: Hoare triple {1266#true} assume !(0 == ~cond); {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L290 TraceCheckUtils]: 15: Hoare triple {1266#true} assume true; {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1266#true} {1266#true} #63#return; {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L272 TraceCheckUtils]: 17: Hoare triple {1266#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1266#true} is VALID [2022-04-27 14:28:41,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {1266#true} ~cond := #in~cond; {1325#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:28:41,545 INFO L290 TraceCheckUtils]: 19: Hoare triple {1325#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1329#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:41,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {1329#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1329#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:41,545 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1329#(not (= |assume_abort_if_not_#in~cond| 0))} {1266#true} #65#return; {1336#(<= 1 main_~b~0)} is VALID [2022-04-27 14:28:41,546 INFO L290 TraceCheckUtils]: 22: Hoare triple {1336#(<= 1 main_~b~0)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,546 INFO L290 TraceCheckUtils]: 23: Hoare triple {1340#(<= 1 main_~y~0)} assume !false; {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,547 INFO L272 TraceCheckUtils]: 24: Hoare triple {1340#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1266#true} is VALID [2022-04-27 14:28:41,547 INFO L290 TraceCheckUtils]: 25: Hoare triple {1266#true} ~cond := #in~cond; {1266#true} is VALID [2022-04-27 14:28:41,547 INFO L290 TraceCheckUtils]: 26: Hoare triple {1266#true} assume !(0 == ~cond); {1266#true} is VALID [2022-04-27 14:28:41,547 INFO L290 TraceCheckUtils]: 27: Hoare triple {1266#true} assume true; {1266#true} is VALID [2022-04-27 14:28:41,551 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1266#true} {1340#(<= 1 main_~y~0)} #67#return; {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,551 INFO L290 TraceCheckUtils]: 29: Hoare triple {1340#(<= 1 main_~y~0)} assume !!(0 != ~y~0); {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,552 INFO L290 TraceCheckUtils]: 30: Hoare triple {1340#(<= 1 main_~y~0)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1365#(and (not (= (mod main_~y~0 2) 1)) (<= 1 main_~y~0))} is VALID [2022-04-27 14:28:41,552 INFO L290 TraceCheckUtils]: 31: Hoare triple {1365#(and (not (= (mod main_~y~0 2) 1)) (<= 1 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); {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,552 INFO L290 TraceCheckUtils]: 32: Hoare triple {1340#(<= 1 main_~y~0)} assume !false; {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,553 INFO L272 TraceCheckUtils]: 33: Hoare triple {1340#(<= 1 main_~y~0)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1266#true} is VALID [2022-04-27 14:28:41,553 INFO L290 TraceCheckUtils]: 34: Hoare triple {1266#true} ~cond := #in~cond; {1266#true} is VALID [2022-04-27 14:28:41,553 INFO L290 TraceCheckUtils]: 35: Hoare triple {1266#true} assume !(0 == ~cond); {1266#true} is VALID [2022-04-27 14:28:41,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {1266#true} assume true; {1266#true} is VALID [2022-04-27 14:28:41,553 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1266#true} {1340#(<= 1 main_~y~0)} #67#return; {1340#(<= 1 main_~y~0)} is VALID [2022-04-27 14:28:41,554 INFO L290 TraceCheckUtils]: 38: Hoare triple {1340#(<= 1 main_~y~0)} assume !(0 != ~y~0); {1267#false} is VALID [2022-04-27 14:28:41,554 INFO L272 TraceCheckUtils]: 39: Hoare triple {1267#false} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {1267#false} is VALID [2022-04-27 14:28:41,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {1267#false} ~cond := #in~cond; {1267#false} is VALID [2022-04-27 14:28:41,554 INFO L290 TraceCheckUtils]: 41: Hoare triple {1267#false} assume 0 == ~cond; {1267#false} is VALID [2022-04-27 14:28:41,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {1267#false} assume !false; {1267#false} is VALID [2022-04-27 14:28:41,554 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 13 trivial. 0 not checked. [2022-04-27 14:28:41,554 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 14:28:41,554 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:28:41,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1744737318] [2022-04-27 14:28:41,555 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:28:41,555 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [530690205] [2022-04-27 14:28:41,555 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [530690205] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 14:28:41,555 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 14:28:41,555 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-27 14:28:41,555 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1819233574] [2022-04-27 14:28:41,555 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 14:28:41,556 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-04-27 14:28:41,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:28:41,556 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:41,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:28:41,581 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 14:28:41,582 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:28:41,582 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 14:28:41,582 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-27 14:28:41,582 INFO L87 Difference]: Start difference. First operand 42 states and 46 transitions. Second operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:41,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:41,810 INFO L93 Difference]: Finished difference Result 57 states and 64 transitions. [2022-04-27 14:28:41,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 14:28:41,810 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) Word has length 43 [2022-04-27 14:28:41,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:28:41,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:41,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 45 transitions. [2022-04-27 14:28:41,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:41,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 45 transitions. [2022-04-27 14:28:41,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 45 transitions. [2022-04-27 14:28:41,844 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-27 14:28:41,846 INFO L225 Difference]: With dead ends: 57 [2022-04-27 14:28:41,846 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 14:28:41,846 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 36 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-27 14:28:41,847 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 13 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 61 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 64 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 61 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:28:41,847 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 87 Invalid, 64 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 61 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 14:28:41,848 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 14:28:41,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 50. [2022-04-27 14:28:41,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:28:41,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:28:41,893 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:28:41,894 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:28:41,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:41,896 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-27 14:28:41,896 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-27 14:28:41,897 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:41,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:41,897 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 50 states. [2022-04-27 14:28:41,897 INFO L87 Difference]: Start difference. First operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) Second operand 50 states. [2022-04-27 14:28:41,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:41,899 INFO L93 Difference]: Finished difference Result 50 states and 57 transitions. [2022-04-27 14:28:41,899 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-27 14:28:41,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:41,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:41,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:28:41,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:28:41,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 33 states have (on average 1.121212121212121) internal successors, (37), 36 states have internal predecessors, (37), 11 states have call successors, (11), 6 states have call predecessors, (11), 5 states have return successors, (9), 7 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-27 14:28:41,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 57 transitions. [2022-04-27 14:28:41,902 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 57 transitions. Word has length 43 [2022-04-27 14:28:41,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:28:41,903 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 57 transitions. [2022-04-27 14:28:41,903 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.142857142857143) internal successors, (22), 6 states have internal predecessors, (22), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 14:28:41,903 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 57 transitions. [2022-04-27 14:28:41,904 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 14:28:41,904 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:28:41,904 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:28:41,929 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 14:28:42,126 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-27 14:28:42,127 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:28:42,127 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:28:42,127 INFO L85 PathProgramCache]: Analyzing trace with hash 1779207736, now seen corresponding path program 1 times [2022-04-27 14:28:42,127 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:28:42,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1458684591] [2022-04-27 14:28:42,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:42,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:28:42,144 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:28:42,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1001183126] [2022-04-27 14:28:42,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:42,144 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:28:42,144 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:28:42,145 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-27 14:28:42,162 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-27 14:28:42,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:42,200 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 14:28:42,217 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:42,218 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:28:42,922 INFO L272 TraceCheckUtils]: 0: Hoare triple {1660#true} call ULTIMATE.init(); {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {1660#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); {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1660#true} {1660#true} #71#return; {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L272 TraceCheckUtils]: 4: Hoare triple {1660#true} call #t~ret6 := main(); {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L290 TraceCheckUtils]: 5: Hoare triple {1660#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; {1660#true} is VALID [2022-04-27 14:28:42,922 INFO L272 TraceCheckUtils]: 6: Hoare triple {1660#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1660#true} {1660#true} #61#return; {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {1660#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1660#true} is VALID [2022-04-27 14:28:42,923 INFO L272 TraceCheckUtils]: 12: Hoare triple {1660#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:42,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {1660#true} ~cond := #in~cond; {1704#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:28:42,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {1704#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:42,925 INFO L290 TraceCheckUtils]: 15: Hoare triple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:42,926 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} {1660#true} #63#return; {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 14:28:42,926 INFO L272 TraceCheckUtils]: 17: Hoare triple {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:42,926 INFO L290 TraceCheckUtils]: 18: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:42,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:42,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:42,932 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1660#true} {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 14:28:42,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {1715#(and (<= main_~b~0 2) (<= 0 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 14:28:42,933 INFO L290 TraceCheckUtils]: 23: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} assume !false; {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 14:28:42,933 INFO L272 TraceCheckUtils]: 24: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:42,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:42,933 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:42,933 INFO L290 TraceCheckUtils]: 27: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:42,934 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1660#true} {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #67#return; {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-27 14:28:42,934 INFO L290 TraceCheckUtils]: 29: Hoare triple {1734#(and (<= 0 main_~y~0) (<= main_~y~0 2))} assume !!(0 != ~y~0); {1756#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (<= main_~y~0 2))} is VALID [2022-04-27 14:28:42,935 INFO L290 TraceCheckUtils]: 30: Hoare triple {1756#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (<= main_~y~0 2))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1760#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= main_~y~0 2))} is VALID [2022-04-27 14:28:42,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {1760#(and (<= 0 main_~y~0) (not (= main_~y~0 0)) (not (= (mod main_~y~0 2) 1)) (<= 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); {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-27 14:28:42,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} assume !false; {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-27 14:28:42,936 INFO L272 TraceCheckUtils]: 33: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:42,936 INFO L290 TraceCheckUtils]: 34: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:42,936 INFO L290 TraceCheckUtils]: 35: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:42,936 INFO L290 TraceCheckUtils]: 36: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:42,937 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1660#true} {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} #67#return; {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-27 14:28:42,938 INFO L290 TraceCheckUtils]: 38: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} assume !!(0 != ~y~0); {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} is VALID [2022-04-27 14:28:42,938 INFO L290 TraceCheckUtils]: 39: Hoare triple {1764#(and (< 0 main_~y~0) (<= (* main_~y~0 2) 2))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1661#false} is VALID [2022-04-27 14:28:42,938 INFO L290 TraceCheckUtils]: 40: Hoare triple {1661#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1661#false} is VALID [2022-04-27 14:28:42,938 INFO L290 TraceCheckUtils]: 41: Hoare triple {1661#false} assume !false; {1661#false} is VALID [2022-04-27 14:28:42,938 INFO L272 TraceCheckUtils]: 42: Hoare triple {1661#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1661#false} is VALID [2022-04-27 14:28:42,939 INFO L290 TraceCheckUtils]: 43: Hoare triple {1661#false} ~cond := #in~cond; {1661#false} is VALID [2022-04-27 14:28:42,939 INFO L290 TraceCheckUtils]: 44: Hoare triple {1661#false} assume 0 == ~cond; {1661#false} is VALID [2022-04-27 14:28:42,939 INFO L290 TraceCheckUtils]: 45: Hoare triple {1661#false} assume !false; {1661#false} is VALID [2022-04-27 14:28:42,939 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 14:28:42,939 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:28:43,764 INFO L290 TraceCheckUtils]: 45: Hoare triple {1661#false} assume !false; {1661#false} is VALID [2022-04-27 14:28:43,764 INFO L290 TraceCheckUtils]: 44: Hoare triple {1661#false} assume 0 == ~cond; {1661#false} is VALID [2022-04-27 14:28:43,765 INFO L290 TraceCheckUtils]: 43: Hoare triple {1661#false} ~cond := #in~cond; {1661#false} is VALID [2022-04-27 14:28:43,765 INFO L272 TraceCheckUtils]: 42: Hoare triple {1661#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1661#false} is VALID [2022-04-27 14:28:43,765 INFO L290 TraceCheckUtils]: 41: Hoare triple {1661#false} assume !false; {1661#false} is VALID [2022-04-27 14:28:43,765 INFO L290 TraceCheckUtils]: 40: Hoare triple {1661#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {1661#false} is VALID [2022-04-27 14:28:43,765 INFO L290 TraceCheckUtils]: 39: Hoare triple {1825#(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)); {1661#false} is VALID [2022-04-27 14:28:43,766 INFO L290 TraceCheckUtils]: 38: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} assume !!(0 != ~y~0); {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-27 14:28:43,766 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1660#true} {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} #67#return; {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-27 14:28:43,766 INFO L290 TraceCheckUtils]: 36: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:43,767 INFO L290 TraceCheckUtils]: 35: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:43,767 INFO L290 TraceCheckUtils]: 34: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:43,767 INFO L272 TraceCheckUtils]: 33: Hoare triple {1825#(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)); {1660#true} is VALID [2022-04-27 14:28:43,767 INFO L290 TraceCheckUtils]: 32: Hoare triple {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} assume !false; {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-27 14:28:43,768 INFO L290 TraceCheckUtils]: 31: Hoare triple {1850#(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); {1825#(and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1))} is VALID [2022-04-27 14:28:43,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {1854#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {1850#(and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2)))} is VALID [2022-04-27 14:28:43,769 INFO L290 TraceCheckUtils]: 29: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} assume !!(0 != ~y~0); {1854#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-27 14:28:43,770 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1660#true} {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} #67#return; {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-27 14:28:43,770 INFO L290 TraceCheckUtils]: 27: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:43,770 INFO L290 TraceCheckUtils]: 26: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:43,770 INFO L290 TraceCheckUtils]: 25: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:43,770 INFO L272 TraceCheckUtils]: 24: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:43,771 INFO L290 TraceCheckUtils]: 23: Hoare triple {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} assume !false; {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-27 14:28:43,771 INFO L290 TraceCheckUtils]: 22: Hoare triple {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {1858#(or (and (<= 0 main_~y~0) (= (mod main_~y~0 2) 1)) (= main_~y~0 0) (and (= (mod (div main_~y~0 2) 2) 1) (<= 0 (div main_~y~0 2))))} is VALID [2022-04-27 14:28:43,772 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1660#true} {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} #65#return; {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-27 14:28:43,772 INFO L290 TraceCheckUtils]: 20: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:43,772 INFO L290 TraceCheckUtils]: 19: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:43,772 INFO L290 TraceCheckUtils]: 18: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:43,772 INFO L272 TraceCheckUtils]: 17: Hoare triple {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:43,773 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} {1660#true} #63#return; {1880#(or (and (= (mod main_~b~0 2) 1) (<= 0 main_~b~0)) (= main_~b~0 0) (and (= (mod (div main_~b~0 2) 2) 1) (<= 0 (div main_~b~0 2))))} is VALID [2022-04-27 14:28:43,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {1708#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:43,774 INFO L290 TraceCheckUtils]: 14: Hoare triple {1908#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1708#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:28:43,774 INFO L290 TraceCheckUtils]: 13: Hoare triple {1660#true} ~cond := #in~cond; {1908#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 14:28:43,774 INFO L272 TraceCheckUtils]: 12: Hoare triple {1660#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:43,774 INFO L290 TraceCheckUtils]: 11: Hoare triple {1660#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {1660#true} is VALID [2022-04-27 14:28:43,774 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1660#true} {1660#true} #61#return; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {1660#true} assume !(0 == ~cond); {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {1660#true} ~cond := #in~cond; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L272 TraceCheckUtils]: 6: Hoare triple {1660#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 5: Hoare triple {1660#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; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L272 TraceCheckUtils]: 4: Hoare triple {1660#true} call #t~ret6 := main(); {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1660#true} {1660#true} #71#return; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 2: Hoare triple {1660#true} assume true; {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L290 TraceCheckUtils]: 1: Hoare triple {1660#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); {1660#true} is VALID [2022-04-27 14:28:43,775 INFO L272 TraceCheckUtils]: 0: Hoare triple {1660#true} call ULTIMATE.init(); {1660#true} is VALID [2022-04-27 14:28:43,776 INFO L134 CoverageAnalysis]: Checked inductivity of 29 backedges. 16 proven. 3 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 14:28:43,776 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:28:43,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1458684591] [2022-04-27 14:28:43,776 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:28:43,776 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1001183126] [2022-04-27 14:28:43,776 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1001183126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:28:43,776 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:28:43,777 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2022-04-27 14:28:43,777 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [64071935] [2022-04-27 14:28:43,777 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:28:43,779 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 46 [2022-04-27 14:28:43,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:28:43,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-27 14:28:43,841 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-27 14:28:43,841 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 14:28:43,842 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:28:43,842 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 14:28:43,842 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-27 14:28:43,842 INFO L87 Difference]: Start difference. First operand 50 states and 57 transitions. Second operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-27 14:28:44,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:44,214 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2022-04-27 14:28:44,214 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 14:28:44,215 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) Word has length 46 [2022-04-27 14:28:44,215 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:28:44,215 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-27 14:28:44,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 53 transitions. [2022-04-27 14:28:44,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-27 14:28:44,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 53 transitions. [2022-04-27 14:28:44,218 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 53 transitions. [2022-04-27 14:28:44,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:28:44,268 INFO L225 Difference]: With dead ends: 73 [2022-04-27 14:28:44,268 INFO L226 Difference]: Without dead ends: 49 [2022-04-27 14:28:44,269 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=93, Invalid=287, Unknown=0, NotChecked=0, Total=380 [2022-04-27 14:28:44,271 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 20 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 14:28:44,271 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 101 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 14:28:44,272 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-04-27 14:28:44,328 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-04-27 14:28:44,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:28:44,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:28:44,330 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:28:44,331 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:28:44,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:44,333 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-27 14:28:44,333 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-27 14:28:44,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:44,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:44,335 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-04-27 14:28:44,335 INFO L87 Difference]: Start difference. First operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 49 states. [2022-04-27 14:28:44,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:28:44,337 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-04-27 14:28:44,337 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-04-27 14:28:44,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:28:44,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:28:44,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:28:44,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:28:44,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 31 states have (on average 1.096774193548387) internal successors, (34), 33 states have internal predecessors, (34), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:28:44,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 52 transitions. [2022-04-27 14:28:44,340 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 52 transitions. Word has length 46 [2022-04-27 14:28:44,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:28:44,340 INFO L495 AbstractCegarLoop]: Abstraction has 47 states and 52 transitions. [2022-04-27 14:28:44,340 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 2.4) internal successors, (36), 13 states have internal predecessors, (36), 8 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 7 states have call predecessors, (10), 7 states have call successors, (10) [2022-04-27 14:28:44,340 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 52 transitions. [2022-04-27 14:28:44,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-27 14:28:44,341 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:28:44,341 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:28:44,359 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-27 14:28:44,541 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-27 14:28:44,542 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:28:44,542 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:28:44,542 INFO L85 PathProgramCache]: Analyzing trace with hash -1624970434, now seen corresponding path program 1 times [2022-04-27 14:28:44,542 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:28:44,542 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843219468] [2022-04-27 14:28:44,542 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:44,542 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:28:44,559 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:28:44,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [689264016] [2022-04-27 14:28:44,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:28:44,560 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:28:44,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:28:44,561 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-27 14:28:44,579 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-27 14:28:44,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:44,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 14:28:44,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:28:44,629 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:28:52,818 INFO L272 TraceCheckUtils]: 0: Hoare triple {2227#true} call ULTIMATE.init(); {2227#true} is VALID [2022-04-27 14:28:52,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:28:52,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2227#true} {2227#true} #71#return; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L272 TraceCheckUtils]: 4: Hoare triple {2227#true} call #t~ret6 := main(); {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L290 TraceCheckUtils]: 5: Hoare triple {2227#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; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {2227#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2227#true} {2227#true} #61#return; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {2227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2227#true} is VALID [2022-04-27 14:28:52,819 INFO L272 TraceCheckUtils]: 12: Hoare triple {2227#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 13: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2227#true} {2227#true} #63#return; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L272 TraceCheckUtils]: 17: Hoare triple {2227#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2227#true} {2227#true} #65#return; {2227#true} is VALID [2022-04-27 14:28:52,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {2227#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L272 TraceCheckUtils]: 24: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 27: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2227#true} {2227#true} #67#return; {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 29: Hoare triple {2227#true} assume !!(0 != ~y~0); {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 30: Hoare triple {2227#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 31: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:28:52,821 INFO L290 TraceCheckUtils]: 32: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L272 TraceCheckUtils]: 33: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 35: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 36: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2227#true} {2227#true} #67#return; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 38: Hoare triple {2227#true} assume !!(0 != ~y~0); {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 39: Hoare triple {2227#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; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 40: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L290 TraceCheckUtils]: 41: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:28:52,822 INFO L272 TraceCheckUtils]: 42: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:28:52,823 INFO L290 TraceCheckUtils]: 43: Hoare triple {2227#true} ~cond := #in~cond; {2361#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:52,823 INFO L290 TraceCheckUtils]: 44: Hoare triple {2361#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:52,823 INFO L290 TraceCheckUtils]: 45: Hoare triple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:28:54,826 WARN L284 TraceCheckUtils]: 46: Hoare quadruple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} {2227#true} #67#return; {2372#(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-27 14:28:54,826 INFO L290 TraceCheckUtils]: 47: Hoare triple {2372#(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); {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:28:54,827 INFO L272 TraceCheckUtils]: 48: Hoare triple {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:28:54,831 INFO L290 TraceCheckUtils]: 49: Hoare triple {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2384#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:28:54,831 INFO L290 TraceCheckUtils]: 50: Hoare triple {2384#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2228#false} is VALID [2022-04-27 14:28:54,831 INFO L290 TraceCheckUtils]: 51: Hoare triple {2228#false} assume !false; {2228#false} is VALID [2022-04-27 14:28:54,832 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-27 14:28:54,832 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:29:02,881 INFO L290 TraceCheckUtils]: 51: Hoare triple {2228#false} assume !false; {2228#false} is VALID [2022-04-27 14:29:02,881 INFO L290 TraceCheckUtils]: 50: Hoare triple {2384#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2228#false} is VALID [2022-04-27 14:29:02,882 INFO L290 TraceCheckUtils]: 49: Hoare triple {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2384#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 14:29:02,883 INFO L272 TraceCheckUtils]: 48: Hoare triple {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} call __VERIFIER_assert((if ~z~0 == ~a~0 * ~b~0 then 1 else 0)); {2380#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 14:29:02,885 INFO L290 TraceCheckUtils]: 47: Hoare triple {2403#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} assume !(0 != ~y~0); {2376#(= main_~z~0 (* main_~b~0 main_~a~0))} is VALID [2022-04-27 14:29:02,888 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} {2227#true} #67#return; {2403#(or (not (= main_~y~0 0)) (= main_~z~0 (* main_~b~0 main_~a~0)))} is VALID [2022-04-27 14:29:02,891 INFO L290 TraceCheckUtils]: 45: Hoare triple {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:02,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {2416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2365#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 14:29:02,894 INFO L290 TraceCheckUtils]: 43: Hoare triple {2227#true} ~cond := #in~cond; {2416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 14:29:02,895 INFO L272 TraceCheckUtils]: 42: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 41: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 40: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 39: Hoare triple {2227#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; {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 38: Hoare triple {2227#true} assume !!(0 != ~y~0); {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2227#true} {2227#true} #67#return; {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 36: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 35: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:29:02,895 INFO L290 TraceCheckUtils]: 34: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L272 TraceCheckUtils]: 33: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 32: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 31: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 30: Hoare triple {2227#true} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 29: Hoare triple {2227#true} assume !!(0 != ~y~0); {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2227#true} {2227#true} #67#return; {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 27: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 26: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L290 TraceCheckUtils]: 25: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:29:02,896 INFO L272 TraceCheckUtils]: 24: Hoare triple {2227#true} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {2227#true} assume !false; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {2227#true} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2227#true} {2227#true} #65#return; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 20: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 19: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 18: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L272 TraceCheckUtils]: 17: Hoare triple {2227#true} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2227#true} {2227#true} #63#return; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 15: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,897 INFO L290 TraceCheckUtils]: 14: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L290 TraceCheckUtils]: 13: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L272 TraceCheckUtils]: 12: Hoare triple {2227#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {2227#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2227#true} {2227#true} #61#return; {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {2227#true} assume !(0 == ~cond); {2227#true} is VALID [2022-04-27 14:29:02,901 INFO L290 TraceCheckUtils]: 7: Hoare triple {2227#true} ~cond := #in~cond; {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L272 TraceCheckUtils]: 6: Hoare triple {2227#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L290 TraceCheckUtils]: 5: Hoare triple {2227#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; {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L272 TraceCheckUtils]: 4: Hoare triple {2227#true} call #t~ret6 := main(); {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2227#true} {2227#true} #71#return; {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {2227#true} assume true; {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L290 TraceCheckUtils]: 1: Hoare triple {2227#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); {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L272 TraceCheckUtils]: 0: Hoare triple {2227#true} call ULTIMATE.init(); {2227#true} is VALID [2022-04-27 14:29:02,902 INFO L134 CoverageAnalysis]: Checked inductivity of 41 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 27 trivial. 0 not checked. [2022-04-27 14:29:02,902 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:29:02,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843219468] [2022-04-27 14:29:02,903 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:29:02,903 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [689264016] [2022-04-27 14:29:02,903 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [689264016] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:29:02,903 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:29:02,903 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 10 [2022-04-27 14:29:02,903 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [84416414] [2022-04-27 14:29:02,903 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:29:02,904 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 52 [2022-04-27 14:29:02,904 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:29:02,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 14:29:04,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 39 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-27 14:29:04,938 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 14:29:04,939 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:29:04,939 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 14:29:04,939 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 14:29:04,939 INFO L87 Difference]: Start difference. First operand 47 states and 52 transitions. Second operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 14:29:06,999 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-27 14:29:07,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:07,433 INFO L93 Difference]: Finished difference Result 53 states and 57 transitions. [2022-04-27 14:29:07,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 14:29:07,433 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) Word has length 52 [2022-04-27 14:29:07,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:29:07,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 14:29:07,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-27 14:29:07,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 14:29:07,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 40 transitions. [2022-04-27 14:29:07,436 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 40 transitions. [2022-04-27 14:29:11,468 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 38 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-27 14:29:11,469 INFO L225 Difference]: With dead ends: 53 [2022-04-27 14:29:11,469 INFO L226 Difference]: Without dead ends: 46 [2022-04-27 14:29:11,470 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 94 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-27 14:29:11,470 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 17 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 75 mSolverCounterSat, 3 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 115 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 75 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.2s IncrementalHoareTripleChecker+Time [2022-04-27 14:29:11,471 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [17 Valid, 115 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 75 Invalid, 1 Unknown, 0 Unchecked, 2.2s Time] [2022-04-27 14:29:11,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-04-27 14:29:11,520 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-04-27 14:29:11,520 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:29:11,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:29:11,521 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:29:11,521 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:29:11,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:11,523 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-27 14:29:11,523 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-27 14:29:11,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:11,523 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:11,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 46 states. [2022-04-27 14:29:11,524 INFO L87 Difference]: Start difference. First operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) Second operand 46 states. [2022-04-27 14:29:11,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:11,525 INFO L93 Difference]: Finished difference Result 46 states and 50 transitions. [2022-04-27 14:29:11,526 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-27 14:29:11,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:11,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:11,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:29:11,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:29:11,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 31 states have (on average 1.064516129032258) internal successors, (33), 32 states have internal predecessors, (33), 9 states have call successors, (9), 6 states have call predecessors, (9), 5 states have return successors, (8), 7 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 14:29:11,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 50 transitions. [2022-04-27 14:29:11,528 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 50 transitions. Word has length 52 [2022-04-27 14:29:11,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:29:11,528 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 50 transitions. [2022-04-27 14:29:11,528 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.888888888888889) internal successors, (26), 7 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (7), 3 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-27 14:29:11,528 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 50 transitions. [2022-04-27 14:29:11,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 14:29:11,529 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 14:29:11,529 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:29:11,552 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-27 14:29:11,746 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-27 14:29:11,747 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 14:29:11,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 14:29:11,747 INFO L85 PathProgramCache]: Analyzing trace with hash -1319005258, now seen corresponding path program 1 times [2022-04-27 14:29:11,747 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 14:29:11,747 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [587240945] [2022-04-27 14:29:11,747 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:11,747 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 14:29:11,766 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 14:29:11,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1226537780] [2022-04-27 14:29:11,767 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 14:29:11,767 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 14:29:11,767 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 14:29:11,784 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-27 14:29:11,785 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-27 14:29:11,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:11,830 INFO L263 TraceCheckSpWp]: Trace formula consists of 143 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 14:29:11,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 14:29:11,848 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 14:29:12,761 INFO L272 TraceCheckUtils]: 0: Hoare triple {2783#true} call ULTIMATE.init(); {2783#true} is VALID [2022-04-27 14:29:12,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {2783#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); {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2783#true} {2783#true} #71#return; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L272 TraceCheckUtils]: 4: Hoare triple {2783#true} call #t~ret6 := main(); {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 5: Hoare triple {2783#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; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L272 TraceCheckUtils]: 6: Hoare triple {2783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 7: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 8: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2783#true} {2783#true} #61#return; {2783#true} is VALID [2022-04-27 14:29:12,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {2783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2783#true} is VALID [2022-04-27 14:29:12,763 INFO L272 TraceCheckUtils]: 12: Hoare triple {2783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {2783#true} ~cond := #in~cond; {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:29:12,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:12,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:12,765 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2783#true} #63#return; {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} is VALID [2022-04-27 14:29:12,765 INFO L272 TraceCheckUtils]: 17: Hoare triple {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,765 INFO L290 TraceCheckUtils]: 18: Hoare triple {2783#true} ~cond := #in~cond; {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 14:29:12,766 INFO L290 TraceCheckUtils]: 19: Hoare triple {2827#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:12,766 INFO L290 TraceCheckUtils]: 20: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:12,767 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2838#(and (<= main_~b~0 2) (<= 0 main_~b~0))} #65#return; {2854#(and (<= main_~b~0 2) (<= 1 main_~b~0))} is VALID [2022-04-27 14:29:12,767 INFO L290 TraceCheckUtils]: 22: Hoare triple {2854#(and (<= main_~b~0 2) (<= 1 main_~b~0))} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-27 14:29:12,767 INFO L290 TraceCheckUtils]: 23: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} assume !false; {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-27 14:29:12,767 INFO L272 TraceCheckUtils]: 24: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,767 INFO L290 TraceCheckUtils]: 25: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:12,768 INFO L290 TraceCheckUtils]: 26: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:12,768 INFO L290 TraceCheckUtils]: 27: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:12,768 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2783#true} {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} #67#return; {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-27 14:29:12,768 INFO L290 TraceCheckUtils]: 29: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} assume !!(0 != ~y~0); {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-27 14:29:12,769 INFO L290 TraceCheckUtils]: 30: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2858#(and (<= main_~y~0 2) (<= 1 main_~y~0))} is VALID [2022-04-27 14:29:12,769 INFO L290 TraceCheckUtils]: 31: Hoare triple {2858#(and (<= main_~y~0 2) (<= 1 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); {2886#(<= main_~y~0 1)} is VALID [2022-04-27 14:29:12,770 INFO L290 TraceCheckUtils]: 32: Hoare triple {2886#(<= main_~y~0 1)} assume !false; {2886#(<= main_~y~0 1)} is VALID [2022-04-27 14:29:12,770 INFO L272 TraceCheckUtils]: 33: Hoare triple {2886#(<= main_~y~0 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,770 INFO L290 TraceCheckUtils]: 34: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:12,770 INFO L290 TraceCheckUtils]: 35: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:12,770 INFO L290 TraceCheckUtils]: 36: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:12,770 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2783#true} {2886#(<= main_~y~0 1)} #67#return; {2886#(<= main_~y~0 1)} is VALID [2022-04-27 14:29:12,771 INFO L290 TraceCheckUtils]: 38: Hoare triple {2886#(<= main_~y~0 1)} assume !!(0 != ~y~0); {2908#(and (not (= main_~y~0 0)) (<= main_~y~0 1))} is VALID [2022-04-27 14:29:12,771 INFO L290 TraceCheckUtils]: 39: Hoare triple {2908#(and (not (= main_~y~0 0)) (<= main_~y~0 1))} 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; {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:12,772 INFO L290 TraceCheckUtils]: 40: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 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); {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:12,772 INFO L290 TraceCheckUtils]: 41: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} assume !false; {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:12,773 INFO L272 TraceCheckUtils]: 42: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:12,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:12,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:12,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:12,773 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2783#true} {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} #67#return; {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 47: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 48: Hoare triple {2784#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 49: Hoare triple {2784#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 50: Hoare triple {2784#false} assume !false; {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L272 TraceCheckUtils]: 51: Hoare triple {2784#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 52: Hoare triple {2784#false} ~cond := #in~cond; {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 53: Hoare triple {2784#false} assume 0 == ~cond; {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L290 TraceCheckUtils]: 54: Hoare triple {2784#false} assume !false; {2784#false} is VALID [2022-04-27 14:29:12,774 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 25 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 14:29:12,774 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 54: Hoare triple {2784#false} assume !false; {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 53: Hoare triple {2784#false} assume 0 == ~cond; {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 52: Hoare triple {2784#false} ~cond := #in~cond; {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L272 TraceCheckUtils]: 51: Hoare triple {2784#false} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 50: Hoare triple {2784#false} assume !false; {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 49: Hoare triple {2784#false} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2784#false} is VALID [2022-04-27 14:29:14,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {2784#false} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {2784#false} is VALID [2022-04-27 14:29:14,096 INFO L290 TraceCheckUtils]: 47: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} assume !!(0 != ~y~0); {2784#false} is VALID [2022-04-27 14:29:14,096 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {2783#true} {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} #67#return; {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:14,096 INFO L290 TraceCheckUtils]: 45: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,097 INFO L290 TraceCheckUtils]: 44: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:14,097 INFO L290 TraceCheckUtils]: 43: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:14,097 INFO L272 TraceCheckUtils]: 42: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,097 INFO L290 TraceCheckUtils]: 41: Hoare triple {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} assume !false; {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:14,098 INFO L290 TraceCheckUtils]: 40: Hoare triple {3000#(and (<= 0 (+ (div main_~y~0 2) 2)) (or (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (<= (div main_~y~0 2) 0) (not (= (+ (div main_~y~0 2) 1) 0)))) (not (= (+ (div main_~y~0 2) 2) 0)))} ~x~0 := 2 * ~x~0;~y~0 := (if ~y~0 < 0 && 0 != ~y~0 % 2 then 1 + ~y~0 / 2 else ~y~0 / 2); {2912#(and (not (= (+ main_~y~0 1) 0)) (<= main_~y~0 0) (<= 0 (+ main_~y~0 1)))} is VALID [2022-04-27 14:29:14,099 INFO L290 TraceCheckUtils]: 39: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} assume 1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2);~z~0 := ~z~0 + ~x~0;~y~0 := ~y~0 - 1; {3000#(and (<= 0 (+ (div main_~y~0 2) 2)) (or (and (not (= (mod main_~y~0 2) 0)) (< main_~y~0 0)) (and (<= (div main_~y~0 2) 0) (not (= (+ (div main_~y~0 2) 1) 0)))) (not (= (+ (div main_~y~0 2) 2) 0)))} is VALID [2022-04-27 14:29:14,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} assume !!(0 != ~y~0); {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-27 14:29:14,100 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2783#true} {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} #67#return; {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-27 14:29:14,100 INFO L290 TraceCheckUtils]: 36: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,100 INFO L290 TraceCheckUtils]: 35: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:14,100 INFO L290 TraceCheckUtils]: 34: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:14,100 INFO L272 TraceCheckUtils]: 33: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,111 INFO L290 TraceCheckUtils]: 32: Hoare triple {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} assume !false; {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-27 14:29:14,112 INFO L290 TraceCheckUtils]: 31: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 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); {3004#(or (<= (div (+ (- 1) main_~y~0) 2) 0) (not (<= 1 (mod main_~y~0 2))))} is VALID [2022-04-27 14:29:14,113 INFO L290 TraceCheckUtils]: 30: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} assume !(1 == (if ~y~0 < 0 && 0 != ~y~0 % 2 then ~y~0 % 2 - 2 else ~y~0 % 2)); {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,113 INFO L290 TraceCheckUtils]: 29: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} assume !!(0 != ~y~0); {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,114 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2783#true} {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} #67#return; {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:14,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:14,114 INFO L272 TraceCheckUtils]: 24: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} call __VERIFIER_assert((if ~z~0 + ~x~0 * ~y~0 == ~a~0 * ~b~0 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} assume !false; {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} ~x~0 := ~a~0;~y~0 := ~b~0;~z~0 := 0; {3029#(<= (div (* (- 1) (div main_~y~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,117 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2783#true} {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} #65#return; {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,117 INFO L290 TraceCheckUtils]: 20: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,117 INFO L290 TraceCheckUtils]: 19: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:14,117 INFO L290 TraceCheckUtils]: 18: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:14,117 INFO L272 TraceCheckUtils]: 17: Hoare triple {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} call assume_abort_if_not((if ~b~0 >= 1 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,118 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} {2783#true} #63#return; {3057#(<= (div (* (- 1) (div main_~b~0 2)) (- 2)) 1)} is VALID [2022-04-27 14:29:14,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {2831#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:14,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {3085#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {2831#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 14:29:14,119 INFO L290 TraceCheckUtils]: 13: Hoare triple {2783#true} ~cond := #in~cond; {3085#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 14:29:14,119 INFO L272 TraceCheckUtils]: 12: Hoare triple {2783#true} call assume_abort_if_not((if ~b~0 >= 0 && ~b~0 <= 2 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,119 INFO L290 TraceCheckUtils]: 11: Hoare triple {2783#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~b~0 := #t~nondet5;havoc #t~nondet5; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2783#true} {2783#true} #61#return; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 8: Hoare triple {2783#true} assume !(0 == ~cond); {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {2783#true} ~cond := #in~cond; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L272 TraceCheckUtils]: 6: Hoare triple {2783#true} call assume_abort_if_not((if ~a~0 >= 0 && ~a~0 <= 2 then 1 else 0)); {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 5: Hoare triple {2783#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; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L272 TraceCheckUtils]: 4: Hoare triple {2783#true} call #t~ret6 := main(); {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2783#true} {2783#true} #71#return; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {2783#true} assume true; {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {2783#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); {2783#true} is VALID [2022-04-27 14:29:14,120 INFO L272 TraceCheckUtils]: 0: Hoare triple {2783#true} call ULTIMATE.init(); {2783#true} is VALID [2022-04-27 14:29:14,121 INFO L134 CoverageAnalysis]: Checked inductivity of 51 backedges. 26 proven. 7 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 14:29:14,121 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 14:29:14,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [587240945] [2022-04-27 14:29:14,121 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 14:29:14,121 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1226537780] [2022-04-27 14:29:14,121 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1226537780] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 14:29:14,121 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 14:29:14,121 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 15 [2022-04-27 14:29:14,121 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [578326738] [2022-04-27 14:29:14,122 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 14:29:14,122 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Word has length 55 [2022-04-27 14:29:14,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 14:29:14,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-27 14:29:14,182 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 14:29:14,182 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 14:29:14,182 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 14:29:14,183 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 14:29:14,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=164, Unknown=0, NotChecked=0, Total=210 [2022-04-27 14:29:14,183 INFO L87 Difference]: Start difference. First operand 46 states and 50 transitions. Second operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-27 14:29:14,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:14,761 INFO L93 Difference]: Finished difference Result 56 states and 60 transitions. [2022-04-27 14:29:14,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 14:29:14,761 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) Word has length 55 [2022-04-27 14:29:14,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 14:29:14,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-27 14:29:14,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2022-04-27 14:29:14,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-27 14:29:14,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 48 transitions. [2022-04-27 14:29:14,764 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 48 transitions. [2022-04-27 14:29:14,810 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-27 14:29:14,810 INFO L225 Difference]: With dead ends: 56 [2022-04-27 14:29:14,810 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 14:29:14,811 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 93 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=90, Invalid=290, Unknown=0, NotChecked=0, Total=380 [2022-04-27 14:29:14,811 INFO L413 NwaCegarLoop]: 24 mSDtfsCounter, 19 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 104 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 104 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 14:29:14,812 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [20 Valid, 110 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 104 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 14:29:14,812 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 14:29:14,812 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 14:29:14,812 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 14:29:14,812 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 14:29:14,812 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 14:29:14,812 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 14:29:14,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:14,813 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 14:29:14,813 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:29:14,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:14,813 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:14,813 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 14:29:14,813 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 14:29:14,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 14:29:14,813 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 14:29:14,813 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:29:14,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:14,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 14:29:14,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 14:29:14,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 14:29:14,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 14:29:14,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 14:29:14,814 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 55 [2022-04-27 14:29:14,814 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 14:29:14,814 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 14:29:14,814 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.9285714285714284) internal successors, (41), 12 states have internal predecessors, (41), 9 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (11), 9 states have call predecessors, (11), 8 states have call successors, (11) [2022-04-27 14:29:14,814 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 14:29:14,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 14:29:14,817 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 14:29:14,833 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 14:29:15,019 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-27 14:29:15,021 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 14:29:15,338 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 6) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 6) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 6) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 9 11) the Hoare annotation is: true [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point L10(line 10) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point L10-2(lines 9 11) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 9 11) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L895 garLoopResultBuilder]: At program point L27(line 27) the Hoare annotation is: (and (<= 0 main_~a~0) (<= main_~a~0 2)) [2022-04-27 14:29:15,339 INFO L895 garLoopResultBuilder]: At program point L27-1(line 27) the Hoare annotation is: (and (<= main_~b~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 0 main_~b~0)) [2022-04-27 14:29:15,339 INFO L902 garLoopResultBuilder]: At program point L25(line 25) the Hoare annotation is: true [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 20 49) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point L25-1(line 25) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point L46(line 46) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 20 49) no Hoare annotation was computed. [2022-04-27 14:29:15,339 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 45) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse1 (<= main_~b~0 2)) (.cse4 (<= 1 main_~b~0)) (.cse2 (<= 0 main_~a~0)) (.cse3 (<= main_~a~0 2)) (.cse5 (<= 1 main_~y~0))) (or (and (<= 0 main_~y~0) .cse0 .cse1 .cse2 (<= main_~y~0 0) .cse3 .cse4) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= (* main_~y~0 2) 2)) (and (= main_~z~0 0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse2 .cse3 .cse5 (= main_~a~0 main_~x~0)))) [2022-04-27 14:29:15,339 INFO L895 garLoopResultBuilder]: At program point L34-3(lines 34 45) the Hoare annotation is: (let ((.cse0 (* main_~b~0 main_~a~0))) (and (<= 0 main_~y~0) (= main_~z~0 .cse0) (= (+ main_~z~0 (* main_~y~0 main_~x~0)) .cse0) (<= main_~b~0 2) (<= main_~y~0 2) (<= 0 main_~a~0) (<= main_~a~0 2) (<= 1 main_~b~0))) [2022-04-27 14:29:15,339 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 20 49) the Hoare annotation is: true [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point L28(line 28) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point L39(lines 39 42) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point L39-2(lines 39 42) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (= (+ main_~z~0 (* main_~y~0 main_~x~0)) (* main_~b~0 main_~a~0))) (.cse1 (<= main_~b~0 2)) (.cse4 (<= 1 main_~b~0)) (.cse2 (<= 0 main_~a~0)) (.cse3 (<= main_~a~0 2)) (.cse5 (<= 1 main_~y~0))) (or (and (<= 0 main_~y~0) .cse0 .cse1 .cse2 (<= main_~y~0 0) .cse3 .cse4) (and .cse0 .cse1 .cse2 .cse3 .cse4 .cse5 (<= (* main_~y~0 2) 2)) (and (= main_~z~0 0) (<= main_~y~0 2) (= main_~b~0 main_~y~0) .cse2 .cse3 .cse5 (= main_~a~0 main_~x~0)))) [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point L35-1(lines 34 45) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 14:29:15,340 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 14:29:15,340 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 14:29:15,340 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 12 18) the Hoare annotation is: true [2022-04-27 14:29:15,341 INFO L899 garLoopResultBuilder]: For program point L14(lines 14 15) no Hoare annotation was computed. [2022-04-27 14:29:15,341 INFO L899 garLoopResultBuilder]: For program point L13(lines 13 16) no Hoare annotation was computed. [2022-04-27 14:29:15,341 INFO L899 garLoopResultBuilder]: For program point L13-2(lines 12 18) no Hoare annotation was computed. [2022-04-27 14:29:15,341 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 12 18) no Hoare annotation was computed. [2022-04-27 14:29:15,341 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 15) no Hoare annotation was computed. [2022-04-27 14:29:15,343 INFO L356 BasicCegarLoop]: Path program histogram: [1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 14:29:15,344 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 14:29:15,347 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 14:29:15,347 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 14:29:15,354 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L10 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L13 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L10-2 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L25-1 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L13-2 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L28 has no Hoare annotation [2022-04-27 14:29:15,355 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:29:15,356 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:29:15,356 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: L35-1 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: L39-2 has no Hoare annotation [2022-04-27 14:29:15,363 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 14:29:15,363 INFO L163 areAnnotationChecker]: CFG has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 14:29:15,370 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 02:29:15 BoogieIcfgContainer [2022-04-27 14:29:15,370 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 14:29:15,371 INFO L158 Benchmark]: Toolchain (without parser) took 93362.17ms. Allocated memory was 181.4MB in the beginning and 218.1MB in the end (delta: 36.7MB). Free memory was 131.1MB in the beginning and 106.8MB in the end (delta: 24.3MB). Peak memory consumption was 61.7MB. Max. memory is 8.0GB. [2022-04-27 14:29:15,371 INFO L158 Benchmark]: CDTParser took 0.11ms. Allocated memory is still 181.4MB. Free memory is still 147.6MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 14:29:15,372 INFO L158 Benchmark]: CACSL2BoogieTranslator took 204.39ms. Allocated memory is still 181.4MB. Free memory was 130.8MB in the beginning and 156.1MB in the end (delta: -25.3MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. [2022-04-27 14:29:15,372 INFO L158 Benchmark]: Boogie Preprocessor took 30.68ms. Allocated memory is still 181.4MB. Free memory was 156.1MB in the beginning and 154.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 14:29:15,372 INFO L158 Benchmark]: RCFGBuilder took 249.75ms. Allocated memory is still 181.4MB. Free memory was 154.4MB in the beginning and 143.0MB in the end (delta: 11.3MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. [2022-04-27 14:29:15,372 INFO L158 Benchmark]: TraceAbstraction took 92866.64ms. Allocated memory was 181.4MB in the beginning and 218.1MB in the end (delta: 36.7MB). Free memory was 142.5MB in the beginning and 106.8MB in the end (delta: 35.7MB). Peak memory consumption was 73.5MB. Max. memory is 8.0GB. [2022-04-27 14:29:15,373 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11ms. Allocated memory is still 181.4MB. Free memory is still 147.6MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 204.39ms. Allocated memory is still 181.4MB. Free memory was 130.8MB in the beginning and 156.1MB in the end (delta: -25.3MB). Peak memory consumption was 12.4MB. Max. memory is 8.0GB. * Boogie Preprocessor took 30.68ms. Allocated memory is still 181.4MB. Free memory was 156.1MB in the beginning and 154.4MB in the end (delta: 1.7MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 249.75ms. Allocated memory is still 181.4MB. Free memory was 154.4MB in the beginning and 143.0MB in the end (delta: 11.3MB). Peak memory consumption was 10.5MB. Max. memory is 8.0GB. * TraceAbstraction took 92866.64ms. Allocated memory was 181.4MB in the beginning and 218.1MB in the end (delta: 36.7MB). Free memory was 142.5MB in the beginning and 106.8MB in the end (delta: 35.7MB). Peak memory consumption was 73.5MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 15]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 35 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 92.8s, OverallIterations: 8, TraceHistogramMax: 4, PathProgramHistogramMax: 1, EmptinessCheckTime: 0.0s, AutomataDifference: 13.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.3s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1 mSolverCounterUnknown, 158 SdHoareTripleChecker+Valid, 3.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 146 mSDsluCounter, 778 SdHoareTripleChecker+Invalid, 3.3s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 583 mSDsCounter, 89 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 705 IncrementalHoareTripleChecker+Invalid, 795 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 89 mSolverCounterUnsat, 195 mSDtfsCounter, 705 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 516 GetRequests, 421 SyntacticMatches, 8 SemanticMatches, 87 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 1.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=5, InterpolantAutomatonStates: 66, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.3s AutomataMinimizationTime, 8 MinimizatonAttempts, 9 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 12 LocationsWithAnnotation, 33 PreInvPairs, 45 NumberOfFragments, 228 HoareAnnotationTreeSize, 33 FomulaSimplifications, 90 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 12 FomulaSimplificationsInter, 214 FormulaSimplificationTreeSizeReductionInter, 0.2s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 74.4s InterpolantComputationTime, 323 NumberOfCodeBlocks, 323 NumberOfCodeBlocksAsserted, 8 NumberOfCheckSat, 501 ConstructedInterpolants, 0 QuantifiedInterpolants, 1659 SizeOfPredicates, 27 NumberOfNonLiveVariables, 822 ConjunctsInSsa, 108 ConjunctsInUnsatCore, 12 InterpolantComputations, 4 PerfectInterpolantSequences, 302/335 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 34]: Loop Invariant Derived loop invariant: (((((((0 <= y && z + y * x == b * a) && b <= 2) && 0 <= a) && y <= 0) && a <= 2) && 1 <= b) || ((((((z + y * x == b * a && b <= 2) && 0 <= a) && a <= 2) && 1 <= b) && 1 <= y) && y * 2 <= 2)) || ((((((z == 0 && y <= 2) && b == y) && 0 <= a) && a <= 2) && 1 <= y) && a == x) RESULT: Ultimate proved your program to be correct! [2022-04-27 14:29:15,397 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request...