/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/hard2_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:49:28,761 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:49:28,785 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:49:28,831 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:49:28,831 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:49:28,832 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:49:28,834 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:49:28,836 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:49:28,837 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:49:28,840 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:49:28,841 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:49:28,842 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:49:28,842 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:49:28,844 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:49:28,844 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:49:28,846 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:49:28,847 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:49:28,847 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:49:28,849 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:49:28,853 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:49:28,854 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:49:28,855 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:49:28,855 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:49:28,856 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:49:28,857 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:49:28,862 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:49:28,862 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:49:28,862 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:49:28,863 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:49:28,863 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:49:28,864 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:49:28,864 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:49:28,865 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:49:28,865 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:49:28,866 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:49:28,866 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:49:28,866 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:49:28,867 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:49:28,867 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:49:28,867 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:49:28,867 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:49:28,868 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:49:28,869 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 13:49:28,896 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:49:28,897 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:49:28,897 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:49:28,897 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:49:28,897 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:49:28,897 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:49:28,898 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:49:28,898 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:49:28,898 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:49:28,898 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:49:28,899 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:49:28,899 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:49:28,900 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:49:28,900 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:49:28,901 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:49:28,901 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:49:28,901 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:49:28,901 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 13:49:29,053 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:49:29,066 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:49:29,068 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:49:29,068 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:49:29,069 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:49:29,070 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-27 13:49:29,110 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d84ac52c8/9d3642b71dc748a495a5e0c4e3bd7dbc/FLAG77606f4f0 [2022-04-27 13:49:29,410 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:49:29,410 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard2_valuebound1.c [2022-04-27 13:49:29,414 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d84ac52c8/9d3642b71dc748a495a5e0c4e3bd7dbc/FLAG77606f4f0 [2022-04-27 13:49:29,857 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/d84ac52c8/9d3642b71dc748a495a5e0c4e3bd7dbc [2022-04-27 13:49:29,859 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:49:29,860 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:49:29,872 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:49:29,872 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:49:29,876 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:49:29,877 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:49:29" (1/1) ... [2022-04-27 13:49:29,878 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@39d86d27 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:29, skipping insertion in model container [2022-04-27 13:49:29,878 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:49:29" (1/1) ... [2022-04-27 13:49:29,882 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:49:29,893 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:49:30,006 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/hard2_valuebound1.c[526,539] [2022-04-27 13:49:30,019 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:49:30,026 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:49:30,034 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/hard2_valuebound1.c[526,539] [2022-04-27 13:49:30,039 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:49:30,058 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:49:30,058 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30 WrapperNode [2022-04-27 13:49:30,058 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:49:30,059 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:49:30,059 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:49:30,059 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:49:30,066 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,066 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,071 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,072 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,082 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,091 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,094 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,095 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:49:30,096 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:49:30,096 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:49:30,096 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:49:30,097 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (1/1) ... [2022-04-27 13:49:30,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:49:30,110 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:30,120 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 13:49:30,143 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 13:49:30,160 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:49:30,161 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:49:30,161 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:49:30,162 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:49:30,163 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:49:30,163 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 13:49:30,164 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:49:30,167 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:49:30,216 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:49:30,217 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:49:30,354 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:49:30,359 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:49:30,360 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:49:30,361 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:49:30 BoogieIcfgContainer [2022-04-27 13:49:30,361 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:49:30,367 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:49:30,367 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:49:30,373 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:49:30,373 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:49:29" (1/3) ... [2022-04-27 13:49:30,374 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b2aab14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:49:30, skipping insertion in model container [2022-04-27 13:49:30,374 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:49:30" (2/3) ... [2022-04-27 13:49:30,379 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1b2aab14 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:49:30, skipping insertion in model container [2022-04-27 13:49:30,379 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:49:30" (3/3) ... [2022-04-27 13:49:30,380 INFO L111 eAbstractionObserver]: Analyzing ICFG hard2_valuebound1.c [2022-04-27 13:49:30,390 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:49:30,390 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:49:30,423 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:49:30,428 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@73203547, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@14817233 [2022-04-27 13:49:30,428 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:49:30,436 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:49:30,442 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:49:30,442 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:30,443 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:30,444 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:30,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:30,449 INFO L85 PathProgramCache]: Analyzing trace with hash -977830905, now seen corresponding path program 1 times [2022-04-27 13:49:30,455 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:30,455 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905905253] [2022-04-27 13:49:30,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:30,456 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:30,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:30,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:49:30,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:30,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:49:30,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:49:30,609 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:49:30,610 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:49:30,612 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:30,622 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:49:30,624 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:49:30,625 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:49:30,625 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:49:30,627 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {47#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:49:30,627 INFO L290 TraceCheckUtils]: 1: Hoare triple {47#(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(8, 2);call #Ultimate.allocInit(12, 3); {38#true} is VALID [2022-04-27 13:49:30,627 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-27 13:49:30,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #94#return; {38#true} is VALID [2022-04-27 13:49:30,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret5 := main(); {38#true} is VALID [2022-04-27 13:49:30,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {38#true} is VALID [2022-04-27 13:49:30,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {38#true} is VALID [2022-04-27 13:49:30,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-27 13:49:30,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-27 13:49:30,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-27 13:49:30,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #78#return; {39#false} is VALID [2022-04-27 13:49:30,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {39#false} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {39#false} is VALID [2022-04-27 13:49:30,630 INFO L290 TraceCheckUtils]: 12: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:49:30,630 INFO L272 TraceCheckUtils]: 13: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {39#false} is VALID [2022-04-27 13:49:30,630 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-27 13:49:30,630 INFO L290 TraceCheckUtils]: 15: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-27 13:49:30,630 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-27 13:49:30,631 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:49:30,631 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:30,632 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [905905253] [2022-04-27 13:49:30,633 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [905905253] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:30,633 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:30,633 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:49:30,635 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [340515943] [2022-04-27 13:49:30,636 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:30,641 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:49:30,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:30,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:30,673 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:30,674 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:49:30,674 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:30,692 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:49:30,693 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:49:30,696 INFO L87 Difference]: Start difference. First operand has 35 states, 19 states have (on average 1.5263157894736843) internal successors, (29), 20 states have internal predecessors, (29), 10 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:30,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:30,857 INFO L93 Difference]: Finished difference Result 61 states and 95 transitions. [2022-04-27 13:49:30,857 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:49:30,857 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:49:30,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:30,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:30,867 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:49:30,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:30,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 95 transitions. [2022-04-27 13:49:30,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 95 transitions. [2022-04-27 13:49:30,965 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:30,971 INFO L225 Difference]: With dead ends: 61 [2022-04-27 13:49:30,972 INFO L226 Difference]: Without dead ends: 30 [2022-04-27 13:49:30,974 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:49:30,976 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 10 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 38 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 10 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:30,977 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 38 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 10 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:49:30,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2022-04-27 13:49:30,997 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 30. [2022-04-27 13:49:30,998 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:30,998 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:30,999 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:30,999 INFO L87 Difference]: Start difference. First operand 30 states. Second operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:31,003 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:49:31,003 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:49:31,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:31,013 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:31,014 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:49:31,015 INFO L87 Difference]: Start difference. First operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 30 states. [2022-04-27 13:49:31,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:31,023 INFO L93 Difference]: Finished difference Result 30 states and 38 transitions. [2022-04-27 13:49:31,024 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:49:31,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:31,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:31,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:31,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:31,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 16 states have (on average 1.25) internal successors, (20), 17 states have internal predecessors, (20), 10 states have call successors, (10), 4 states have call predecessors, (10), 3 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 38 transitions. [2022-04-27 13:49:31,028 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 38 transitions. Word has length 17 [2022-04-27 13:49:31,028 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:31,028 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 38 transitions. [2022-04-27 13:49:31,029 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,029 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 38 transitions. [2022-04-27 13:49:31,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 13:49:31,029 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:31,030 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:31,030 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:49:31,030 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:31,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:31,031 INFO L85 PathProgramCache]: Analyzing trace with hash -297772535, now seen corresponding path program 1 times [2022-04-27 13:49:31,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:31,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [855481678] [2022-04-27 13:49:31,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:31,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:31,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,116 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:49:31,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:49:31,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:49:31,142 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:49:31,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:49:31,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:49:31,148 INFO L290 TraceCheckUtils]: 1: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:49:31,148 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:49:31,148 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:49:31,149 INFO L272 TraceCheckUtils]: 0: Hoare triple {240#true} call ULTIMATE.init(); {252#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:49:31,149 INFO L290 TraceCheckUtils]: 1: Hoare triple {252#(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(8, 2);call #Ultimate.allocInit(12, 3); {240#true} is VALID [2022-04-27 13:49:31,149 INFO L290 TraceCheckUtils]: 2: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:49:31,149 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {240#true} {240#true} #94#return; {240#true} is VALID [2022-04-27 13:49:31,149 INFO L272 TraceCheckUtils]: 4: Hoare triple {240#true} call #t~ret5 := main(); {240#true} is VALID [2022-04-27 13:49:31,149 INFO L290 TraceCheckUtils]: 5: Hoare triple {240#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {240#true} is VALID [2022-04-27 13:49:31,149 INFO L272 TraceCheckUtils]: 6: Hoare triple {240#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {240#true} is VALID [2022-04-27 13:49:31,150 INFO L290 TraceCheckUtils]: 7: Hoare triple {240#true} ~cond := #in~cond; {240#true} is VALID [2022-04-27 13:49:31,150 INFO L290 TraceCheckUtils]: 8: Hoare triple {240#true} assume !(0 == ~cond); {240#true} is VALID [2022-04-27 13:49:31,150 INFO L290 TraceCheckUtils]: 9: Hoare triple {240#true} assume true; {240#true} is VALID [2022-04-27 13:49:31,150 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {240#true} {240#true} #78#return; {240#true} is VALID [2022-04-27 13:49:31,150 INFO L290 TraceCheckUtils]: 11: Hoare triple {240#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:49:31,151 INFO L290 TraceCheckUtils]: 12: Hoare triple {249#(= main_~q~0 0)} assume !false; {249#(= main_~q~0 0)} is VALID [2022-04-27 13:49:31,151 INFO L272 TraceCheckUtils]: 13: Hoare triple {249#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {250#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:31,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {250#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {251#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:49:31,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {251#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {241#false} is VALID [2022-04-27 13:49:31,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {241#false} assume !false; {241#false} is VALID [2022-04-27 13:49:31,153 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:49:31,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:31,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [855481678] [2022-04-27 13:49:31,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [855481678] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:31,153 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:31,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:49:31,153 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1599881958] [2022-04-27 13:49:31,153 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:31,155 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:49:31,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:31,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:31,173 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:49:31,174 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:31,174 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:49:31,174 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:49:31,175 INFO L87 Difference]: Start difference. First operand 30 states and 38 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:31,548 INFO L93 Difference]: Finished difference Result 43 states and 55 transitions. [2022-04-27 13:49:31,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:49:31,549 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 17 [2022-04-27 13:49:31,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:31,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:49:31,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,576 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:49:31,577 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:49:31,633 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:31,637 INFO L225 Difference]: With dead ends: 43 [2022-04-27 13:49:31,637 INFO L226 Difference]: Without dead ends: 41 [2022-04-27 13:49:31,641 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:49:31,644 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 37 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 136 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:31,644 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [41 Valid, 45 Invalid, 136 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 109 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:49:31,645 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2022-04-27 13:49:31,650 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 34. [2022-04-27 13:49:31,650 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:31,650 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,650 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,651 INFO L87 Difference]: Start difference. First operand 41 states. Second operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:31,653 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:49:31,653 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:49:31,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:31,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:31,654 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-27 13:49:31,655 INFO L87 Difference]: Start difference. First operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 41 states. [2022-04-27 13:49:31,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:31,657 INFO L93 Difference]: Finished difference Result 41 states and 53 transitions. [2022-04-27 13:49:31,657 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 53 transitions. [2022-04-27 13:49:31,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:31,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:31,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:31,658 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:31,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 19 states have (on average 1.2105263157894737) internal successors, (23), 20 states have internal predecessors, (23), 10 states have call successors, (10), 5 states have call predecessors, (10), 4 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:31,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 41 transitions. [2022-04-27 13:49:31,659 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 41 transitions. Word has length 17 [2022-04-27 13:49:31,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:31,659 INFO L495 AbstractCegarLoop]: Abstraction has 34 states and 41 transitions. [2022-04-27 13:49:31,660 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 4 states have internal predecessors, (11), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-04-27 13:49:31,660 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 41 transitions. [2022-04-27 13:49:31,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-27 13:49:31,660 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:31,660 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:31,660 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:49:31,661 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:31,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:31,661 INFO L85 PathProgramCache]: Analyzing trace with hash -1294462534, now seen corresponding path program 1 times [2022-04-27 13:49:31,661 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:31,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [631130022] [2022-04-27 13:49:31,661 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:31,662 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:31,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,733 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:49:31,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,739 INFO L290 TraceCheckUtils]: 0: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:49:31,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,740 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:49:31,740 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:49:31,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:49:31,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:49:31,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:49:31,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 13 [2022-04-27 13:49:31,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:31,761 INFO L290 TraceCheckUtils]: 0: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:49:31,761 INFO L290 TraceCheckUtils]: 1: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:49:31,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,762 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:49:31,763 INFO L272 TraceCheckUtils]: 0: Hoare triple {458#true} call ULTIMATE.init(); {474#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:49:31,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {474#(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(8, 2);call #Ultimate.allocInit(12, 3); {458#true} is VALID [2022-04-27 13:49:31,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {458#true} {458#true} #94#return; {458#true} is VALID [2022-04-27 13:49:31,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {458#true} call #t~ret5 := main(); {458#true} is VALID [2022-04-27 13:49:31,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {458#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {458#true} is VALID [2022-04-27 13:49:31,763 INFO L272 TraceCheckUtils]: 6: Hoare triple {458#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {458#true} is VALID [2022-04-27 13:49:31,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:49:31,764 INFO L290 TraceCheckUtils]: 8: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:49:31,764 INFO L290 TraceCheckUtils]: 9: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {458#true} {458#true} #78#return; {458#true} is VALID [2022-04-27 13:49:31,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {458#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:49:31,764 INFO L290 TraceCheckUtils]: 12: Hoare triple {467#(= main_~A~0 main_~r~0)} assume !false; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:49:31,765 INFO L272 TraceCheckUtils]: 13: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {458#true} is VALID [2022-04-27 13:49:31,765 INFO L290 TraceCheckUtils]: 14: Hoare triple {458#true} ~cond := #in~cond; {458#true} is VALID [2022-04-27 13:49:31,765 INFO L290 TraceCheckUtils]: 15: Hoare triple {458#true} assume !(0 == ~cond); {458#true} is VALID [2022-04-27 13:49:31,765 INFO L290 TraceCheckUtils]: 16: Hoare triple {458#true} assume true; {458#true} is VALID [2022-04-27 13:49:31,766 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {458#true} {467#(= main_~A~0 main_~r~0)} #80#return; {467#(= main_~A~0 main_~r~0)} is VALID [2022-04-27 13:49:31,766 INFO L272 TraceCheckUtils]: 18: Hoare triple {467#(= main_~A~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {472#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:31,767 INFO L290 TraceCheckUtils]: 19: Hoare triple {472#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {473#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:49:31,767 INFO L290 TraceCheckUtils]: 20: Hoare triple {473#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {459#false} is VALID [2022-04-27 13:49:31,768 INFO L290 TraceCheckUtils]: 21: Hoare triple {459#false} assume !false; {459#false} is VALID [2022-04-27 13:49:31,768 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 13:49:31,768 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:31,768 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [631130022] [2022-04-27 13:49:31,768 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [631130022] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:31,768 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:31,768 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:49:31,769 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2006171757] [2022-04-27 13:49:31,769 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:31,769 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:49:31,769 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:31,770 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:49:31,787 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 13:49:31,788 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:49:31,788 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:31,788 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:49:31,788 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:49:31,789 INFO L87 Difference]: Start difference. First operand 34 states and 41 transitions. Second operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:49:32,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,078 INFO L93 Difference]: Finished difference Result 47 states and 58 transitions. [2022-04-27 13:49:32,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:49:32,078 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-27 13:49:32,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:32,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:49:32,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:49:32,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:49:32,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2022-04-27 13:49:32,081 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2022-04-27 13:49:32,127 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:32,128 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:49:32,128 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:49:32,129 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:49:32,129 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 32 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 115 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 141 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 115 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:32,130 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [36 Valid, 45 Invalid, 141 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 115 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:49:32,130 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:49:32,133 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 38. [2022-04-27 13:49:32,134 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:32,134 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:32,134 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:32,134 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:32,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,136 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:49:32,137 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:49:32,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:32,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:32,137 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:49:32,138 INFO L87 Difference]: Start difference. First operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) Second operand 45 states. [2022-04-27 13:49:32,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,140 INFO L93 Difference]: Finished difference Result 45 states and 56 transitions. [2022-04-27 13:49:32,140 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 56 transitions. [2022-04-27 13:49:32,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:32,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:32,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:32,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:32,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 22 states have (on average 1.1818181818181819) internal successors, (26), 23 states have internal predecessors, (26), 10 states have call successors, (10), 6 states have call predecessors, (10), 5 states have return successors, (8), 8 states have call predecessors, (8), 8 states have call successors, (8) [2022-04-27 13:49:32,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 44 transitions. [2022-04-27 13:49:32,142 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 44 transitions. Word has length 22 [2022-04-27 13:49:32,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:32,142 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 44 transitions. [2022-04-27 13:49:32,142 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.3333333333333335) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (5), 3 states have call predecessors, (5), 1 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-27 13:49:32,142 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 44 transitions. [2022-04-27 13:49:32,143 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-27 13:49:32,143 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:32,143 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:32,143 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:49:32,143 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:32,143 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:32,144 INFO L85 PathProgramCache]: Analyzing trace with hash -1449027479, now seen corresponding path program 1 times [2022-04-27 13:49:32,144 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:32,144 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [685916762] [2022-04-27 13:49:32,144 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:32,144 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:32,156 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:32,156 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1162330057] [2022-04-27 13:49:32,156 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:32,156 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:32,156 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:32,166 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 13:49:32,171 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 13:49:32,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:32,205 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:49:32,229 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:32,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:32,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {698#true} call ULTIMATE.init(); {698#true} is VALID [2022-04-27 13:49:32,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {698#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(8, 2);call #Ultimate.allocInit(12, 3); {698#true} is VALID [2022-04-27 13:49:32,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:49:32,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {698#true} {698#true} #94#return; {698#true} is VALID [2022-04-27 13:49:32,418 INFO L272 TraceCheckUtils]: 4: Hoare triple {698#true} call #t~ret5 := main(); {698#true} is VALID [2022-04-27 13:49:32,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {698#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {698#true} is VALID [2022-04-27 13:49:32,418 INFO L272 TraceCheckUtils]: 6: Hoare triple {698#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {698#true} is VALID [2022-04-27 13:49:32,418 INFO L290 TraceCheckUtils]: 7: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:49:32,418 INFO L290 TraceCheckUtils]: 8: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:49:32,418 INFO L290 TraceCheckUtils]: 9: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:49:32,418 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {698#true} {698#true} #78#return; {698#true} is VALID [2022-04-27 13:49:32,423 INFO L290 TraceCheckUtils]: 11: Hoare triple {698#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:32,425 INFO L290 TraceCheckUtils]: 12: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:32,426 INFO L272 TraceCheckUtils]: 13: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:49:32,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:49:32,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:49:32,426 INFO L290 TraceCheckUtils]: 16: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:49:32,428 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:32,428 INFO L272 TraceCheckUtils]: 18: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {698#true} is VALID [2022-04-27 13:49:32,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {698#true} ~cond := #in~cond; {698#true} is VALID [2022-04-27 13:49:32,428 INFO L290 TraceCheckUtils]: 20: Hoare triple {698#true} assume !(0 == ~cond); {698#true} is VALID [2022-04-27 13:49:32,428 INFO L290 TraceCheckUtils]: 21: Hoare triple {698#true} assume true; {698#true} is VALID [2022-04-27 13:49:32,430 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {698#true} {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:32,431 INFO L272 TraceCheckUtils]: 23: Hoare triple {736#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {773#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:32,431 INFO L290 TraceCheckUtils]: 24: Hoare triple {773#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {777#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:32,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {777#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {699#false} is VALID [2022-04-27 13:49:32,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {699#false} assume !false; {699#false} is VALID [2022-04-27 13:49:32,432 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 13:49:32,432 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:49:32,432 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:32,432 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [685916762] [2022-04-27 13:49:32,432 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:32,433 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1162330057] [2022-04-27 13:49:32,433 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1162330057] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:32,433 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:32,433 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:49:32,433 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1150389075] [2022-04-27 13:49:32,433 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:32,433 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:49:32,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:32,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:49:32,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:32,448 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:49:32,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:32,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:49:32,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:49:32,449 INFO L87 Difference]: Start difference. First operand 38 states and 44 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:49:32,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,608 INFO L93 Difference]: Finished difference Result 66 states and 84 transitions. [2022-04-27 13:49:32,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:49:32,608 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-27 13:49:32,609 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:32,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:49:32,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:49:32,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:49:32,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:49:32,616 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:49:32,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:32,688 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:49:32,688 INFO L226 Difference]: Without dead ends: 52 [2022-04-27 13:49:32,690 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 23 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 13:49:32,696 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:32,697 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 128 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:49:32,698 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2022-04-27 13:49:32,708 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 52. [2022-04-27 13:49:32,708 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:32,710 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:49:32,711 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:49:32,711 INFO L87 Difference]: Start difference. First operand 52 states. Second operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:49:32,714 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,714 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:49:32,714 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:49:32,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:32,718 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:32,719 INFO L74 IsIncluded]: Start isIncluded. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:49:32,720 INFO L87 Difference]: Start difference. First operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 52 states. [2022-04-27 13:49:32,724 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:32,724 INFO L93 Difference]: Finished difference Result 52 states and 63 transitions. [2022-04-27 13:49:32,724 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:49:32,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:32,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:32,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:32,725 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:32,725 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 29 states have (on average 1.1724137931034482) internal successors, (34), 31 states have internal predecessors, (34), 16 states have call successors, (16), 7 states have call predecessors, (16), 6 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:49:32,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 63 transitions. [2022-04-27 13:49:32,727 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 63 transitions. Word has length 27 [2022-04-27 13:49:32,727 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:32,728 INFO L495 AbstractCegarLoop]: Abstraction has 52 states and 63 transitions. [2022-04-27 13:49:32,728 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:49:32,728 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 63 transitions. [2022-04-27 13:49:32,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-27 13:49:32,729 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:32,729 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:32,748 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 13:49:32,945 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:32,946 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:32,946 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:32,947 INFO L85 PathProgramCache]: Analyzing trace with hash 905213191, now seen corresponding path program 1 times [2022-04-27 13:49:32,947 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:32,947 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [272215182] [2022-04-27 13:49:32,947 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:32,947 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:32,959 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:32,959 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1518081031] [2022-04-27 13:49:32,959 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:32,959 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:32,959 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:32,960 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 13:49:32,961 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 13:49:32,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:32,997 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:49:33,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:33,006 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:33,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {1063#true} call ULTIMATE.init(); {1063#true} is VALID [2022-04-27 13:49:33,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {1063#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(8, 2);call #Ultimate.allocInit(12, 3); {1063#true} is VALID [2022-04-27 13:49:33,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:49:33,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1063#true} {1063#true} #94#return; {1063#true} is VALID [2022-04-27 13:49:33,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {1063#true} call #t~ret5 := main(); {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {1063#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {1063#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L290 TraceCheckUtils]: 9: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:49:33,173 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1063#true} {1063#true} #78#return; {1063#true} is VALID [2022-04-27 13:49:33,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {1063#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,182 INFO L290 TraceCheckUtils]: 12: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,182 INFO L272 TraceCheckUtils]: 13: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:49:33,182 INFO L290 TraceCheckUtils]: 14: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:49:33,182 INFO L290 TraceCheckUtils]: 15: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:49:33,182 INFO L290 TraceCheckUtils]: 16: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:49:33,183 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,183 INFO L272 TraceCheckUtils]: 18: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:49:33,183 INFO L290 TraceCheckUtils]: 19: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:49:33,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:49:33,183 INFO L290 TraceCheckUtils]: 21: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:49:33,188 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,188 INFO L272 TraceCheckUtils]: 23: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1063#true} is VALID [2022-04-27 13:49:33,188 INFO L290 TraceCheckUtils]: 24: Hoare triple {1063#true} ~cond := #in~cond; {1063#true} is VALID [2022-04-27 13:49:33,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {1063#true} assume !(0 == ~cond); {1063#true} is VALID [2022-04-27 13:49:33,188 INFO L290 TraceCheckUtils]: 26: Hoare triple {1063#true} assume true; {1063#true} is VALID [2022-04-27 13:49:33,189 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1063#true} {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,190 INFO L290 TraceCheckUtils]: 28: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,193 INFO L290 TraceCheckUtils]: 29: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,194 INFO L272 TraceCheckUtils]: 30: Hoare triple {1101#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:33,194 INFO L290 TraceCheckUtils]: 31: Hoare triple {1159#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1163#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:33,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {1163#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1064#false} is VALID [2022-04-27 13:49:33,194 INFO L290 TraceCheckUtils]: 33: Hoare triple {1064#false} assume !false; {1064#false} is VALID [2022-04-27 13:49:33,195 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:49:33,195 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:49:33,195 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:33,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [272215182] [2022-04-27 13:49:33,195 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:33,195 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1518081031] [2022-04-27 13:49:33,195 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1518081031] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:33,195 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:33,195 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:49:33,195 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2084689349] [2022-04-27 13:49:33,195 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:33,196 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 13:49:33,196 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:33,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:33,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:33,213 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:49:33,214 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:33,214 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:49:33,214 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:49:33,214 INFO L87 Difference]: Start difference. First operand 52 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:33,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:33,352 INFO L93 Difference]: Finished difference Result 65 states and 80 transitions. [2022-04-27 13:49:33,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:49:33,352 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 34 [2022-04-27 13:49:33,353 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:33,353 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:33,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:49:33,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:33,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2022-04-27 13:49:33,356 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2022-04-27 13:49:33,392 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:33,394 INFO L225 Difference]: With dead ends: 65 [2022-04-27 13:49:33,394 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:49:33,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 30 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 13:49:33,396 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 9 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 97 SdHoareTripleChecker+Invalid, 58 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:33,396 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 97 Invalid, 58 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:49:33,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:49:33,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 57. [2022-04-27 13:49:33,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:33,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:49:33,409 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:49:33,411 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:49:33,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:33,413 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:49:33,413 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:49:33,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:33,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:33,414 INFO L74 IsIncluded]: Start isIncluded. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:49:33,415 INFO L87 Difference]: Start difference. First operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) Second operand 58 states. [2022-04-27 13:49:33,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:33,416 INFO L93 Difference]: Finished difference Result 58 states and 70 transitions. [2022-04-27 13:49:33,416 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 70 transitions. [2022-04-27 13:49:33,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:33,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:33,417 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:33,417 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:33,417 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 57 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 35 states have internal predecessors, (39), 16 states have call successors, (16), 8 states have call predecessors, (16), 7 states have return successors, (14), 13 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-27 13:49:33,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 69 transitions. [2022-04-27 13:49:33,419 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 69 transitions. Word has length 34 [2022-04-27 13:49:33,419 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:33,419 INFO L495 AbstractCegarLoop]: Abstraction has 57 states and 69 transitions. [2022-04-27 13:49:33,420 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:33,420 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 13:49:33,421 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-27 13:49:33,421 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:33,421 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 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 13:49:33,440 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 13:49:33,640 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:33,641 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:33,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:33,642 INFO L85 PathProgramCache]: Analyzing trace with hash -1576096488, now seen corresponding path program 1 times [2022-04-27 13:49:33,642 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:33,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1943529481] [2022-04-27 13:49:33,642 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:33,642 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:33,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:33,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [983032468] [2022-04-27 13:49:33,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:33,660 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:33,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:33,661 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 13:49:33,684 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 13:49:33,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:33,708 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:49:33,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:33,722 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:33,893 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:49:33,893 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,894 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,894 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,894 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,894 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:49:33,894 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:33,895 INFO L290 TraceCheckUtils]: 12: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:33,895 INFO L272 TraceCheckUtils]: 13: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,895 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,895 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:33,896 INFO L272 TraceCheckUtils]: 18: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,896 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,896 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,896 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:33,896 INFO L272 TraceCheckUtils]: 23: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,897 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,897 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,897 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,897 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:33,898 INFO L290 TraceCheckUtils]: 28: Hoare triple {1503#(and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,898 INFO L290 TraceCheckUtils]: 29: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} assume !false; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,898 INFO L272 TraceCheckUtils]: 30: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,898 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,898 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,898 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,899 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #80#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,899 INFO L272 TraceCheckUtils]: 35: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:33,899 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:33,899 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:33,899 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:33,900 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} #82#return; {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} is VALID [2022-04-27 13:49:33,900 INFO L272 TraceCheckUtils]: 40: Hoare triple {1555#(and (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:33,900 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:33,901 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:49:33,901 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:49:33,901 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:49:33,901 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:49:34,052 INFO L290 TraceCheckUtils]: 43: Hoare triple {1466#false} assume !false; {1466#false} is VALID [2022-04-27 13:49:34,052 INFO L290 TraceCheckUtils]: 42: Hoare triple {1596#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1466#false} is VALID [2022-04-27 13:49:34,053 INFO L290 TraceCheckUtils]: 41: Hoare triple {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1596#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:34,053 INFO L272 TraceCheckUtils]: 40: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1592#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:34,054 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,054 INFO L290 TraceCheckUtils]: 38: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,054 INFO L290 TraceCheckUtils]: 36: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,054 INFO L272 TraceCheckUtils]: 35: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,055 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,055 INFO L290 TraceCheckUtils]: 33: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,055 INFO L272 TraceCheckUtils]: 30: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,055 INFO L290 TraceCheckUtils]: 29: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,056 INFO L290 TraceCheckUtils]: 28: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,057 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #84#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,057 INFO L290 TraceCheckUtils]: 26: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,057 INFO L290 TraceCheckUtils]: 25: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,057 INFO L272 TraceCheckUtils]: 23: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #82#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,058 INFO L290 TraceCheckUtils]: 21: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L290 TraceCheckUtils]: 20: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L290 TraceCheckUtils]: 19: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L272 TraceCheckUtils]: 18: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {1465#true} {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} #80#return; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,058 INFO L290 TraceCheckUtils]: 16: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,058 INFO L290 TraceCheckUtils]: 15: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,059 INFO L290 TraceCheckUtils]: 14: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,059 INFO L272 TraceCheckUtils]: 13: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,059 INFO L290 TraceCheckUtils]: 12: Hoare triple {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} assume !false; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,059 INFO L290 TraceCheckUtils]: 11: Hoare triple {1465#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {1612#(= (* main_~B~0 main_~p~0) main_~d~0)} is VALID [2022-04-27 13:49:34,059 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1465#true} {1465#true} #78#return; {1465#true} is VALID [2022-04-27 13:49:34,059 INFO L290 TraceCheckUtils]: 9: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,059 INFO L290 TraceCheckUtils]: 8: Hoare triple {1465#true} assume !(0 == ~cond); {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {1465#true} ~cond := #in~cond; {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L272 TraceCheckUtils]: 6: Hoare triple {1465#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {1465#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L272 TraceCheckUtils]: 4: Hoare triple {1465#true} call #t~ret5 := main(); {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1465#true} {1465#true} #94#return; {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {1465#true} assume true; {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {1465#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(8, 2);call #Ultimate.allocInit(12, 3); {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L272 TraceCheckUtils]: 0: Hoare triple {1465#true} call ULTIMATE.init(); {1465#true} is VALID [2022-04-27 13:49:34,060 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-27 13:49:34,060 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:34,060 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1943529481] [2022-04-27 13:49:34,060 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:34,061 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [983032468] [2022-04-27 13:49:34,061 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [983032468] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:49:34,061 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:49:34,061 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-27 13:49:34,061 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [725890823] [2022-04-27 13:49:34,061 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:34,061 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-27 13:49:34,062 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:34,062 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:34,078 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:34,078 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:49:34,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:34,079 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:49:34,079 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:49:34,079 INFO L87 Difference]: Start difference. First operand 57 states and 69 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:35,772 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:35,772 INFO L93 Difference]: Finished difference Result 69 states and 84 transitions. [2022-04-27 13:49:35,772 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:49:35,773 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 44 [2022-04-27 13:49:35,773 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:35,773 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:35,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:49:35,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:35,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-27 13:49:35,775 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-27 13:49:35,821 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 13:49:35,823 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:49:35,823 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 13:49:35,823 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 80 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:49:35,824 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 76 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 112 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:35,824 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 112 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:49:35,824 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 13:49:35,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 64. [2022-04-27 13:49:35,832 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:35,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:49:35,833 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:49:35,833 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:49:35,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:35,836 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:49:35,836 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:49:35,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:35,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:35,837 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:49:35,837 INFO L87 Difference]: Start difference. First operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-27 13:49:35,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:35,840 INFO L93 Difference]: Finished difference Result 67 states and 82 transitions. [2022-04-27 13:49:35,840 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 82 transitions. [2022-04-27 13:49:35,840 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:35,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:35,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:35,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:35,841 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 37 states have (on average 1.162162162162162) internal successors, (43), 40 states have internal predecessors, (43), 18 states have call successors, (18), 9 states have call predecessors, (18), 8 states have return successors, (16), 14 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-27 13:49:35,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 77 transitions. [2022-04-27 13:49:35,843 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 77 transitions. Word has length 44 [2022-04-27 13:49:35,844 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:35,844 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 77 transitions. [2022-04-27 13:49:35,844 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:49:35,844 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 77 transitions. [2022-04-27 13:49:35,845 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-27 13:49:35,845 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:35,845 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:35,891 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 13:49:36,059 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:36,060 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:36,060 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:36,060 INFO L85 PathProgramCache]: Analyzing trace with hash 1615471943, now seen corresponding path program 1 times [2022-04-27 13:49:36,060 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:36,060 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544810291] [2022-04-27 13:49:36,060 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:36,060 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:36,081 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:36,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1697495846] [2022-04-27 13:49:36,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:36,081 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:36,081 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:36,082 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 13:49:36,083 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 13:49:36,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:36,142 INFO L263 TraceCheckSpWp]: Trace formula consists of 163 conjuncts, 25 conjunts are in the unsatisfiable core [2022-04-27 13:49:36,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:36,156 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:36,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:49:36,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,575 INFO L290 TraceCheckUtils]: 12: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,575 INFO L272 TraceCheckUtils]: 13: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,575 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,575 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,576 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,576 INFO L272 TraceCheckUtils]: 18: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,576 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,576 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,578 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,578 INFO L272 TraceCheckUtils]: 23: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,579 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,579 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,580 INFO L290 TraceCheckUtils]: 28: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,580 INFO L290 TraceCheckUtils]: 29: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,580 INFO L272 TraceCheckUtils]: 30: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,581 INFO L272 TraceCheckUtils]: 35: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,582 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,582 INFO L272 TraceCheckUtils]: 40: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,582 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,582 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,583 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,583 INFO L290 TraceCheckUtils]: 45: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,584 INFO L290 TraceCheckUtils]: 46: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,584 INFO L272 TraceCheckUtils]: 47: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,584 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,584 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,584 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,585 INFO L272 TraceCheckUtils]: 52: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:36,585 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:36,585 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:36,585 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:36,585 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:36,586 INFO L290 TraceCheckUtils]: 57: Hoare triple {2154#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:36,586 INFO L290 TraceCheckUtils]: 58: Hoare triple {2102#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:49:36,587 INFO L290 TraceCheckUtils]: 59: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} assume !false; {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} is VALID [2022-04-27 13:49:36,587 INFO L272 TraceCheckUtils]: 60: Hoare triple {2245#(and (= (+ main_~A~0 (* (- 1) main_~r~0)) main_~B~0) (= main_~B~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:36,587 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:36,588 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:49:36,588 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:49:36,588 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:49:36,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:49:37,675 INFO L290 TraceCheckUtils]: 63: Hoare triple {2065#false} assume !false; {2065#false} is VALID [2022-04-27 13:49:37,676 INFO L290 TraceCheckUtils]: 62: Hoare triple {2256#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2065#false} is VALID [2022-04-27 13:49:37,676 INFO L290 TraceCheckUtils]: 61: Hoare triple {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2256#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:37,677 INFO L272 TraceCheckUtils]: 60: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2252#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:37,677 INFO L290 TraceCheckUtils]: 59: Hoare triple {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} assume !false; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:49:37,694 INFO L290 TraceCheckUtils]: 58: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {2272#(= (+ (* main_~B~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:49:37,714 INFO L290 TraceCheckUtils]: 57: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,715 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #88#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,716 INFO L290 TraceCheckUtils]: 55: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,716 INFO L290 TraceCheckUtils]: 54: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,716 INFO L290 TraceCheckUtils]: 53: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,716 INFO L272 TraceCheckUtils]: 52: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,716 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #86#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,716 INFO L290 TraceCheckUtils]: 50: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,717 INFO L290 TraceCheckUtils]: 48: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,717 INFO L272 TraceCheckUtils]: 47: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,718 INFO L290 TraceCheckUtils]: 46: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,719 INFO L290 TraceCheckUtils]: 45: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !(~r~0 >= ~d~0); {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,719 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #84#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,719 INFO L290 TraceCheckUtils]: 43: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,719 INFO L290 TraceCheckUtils]: 42: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,719 INFO L290 TraceCheckUtils]: 41: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,720 INFO L272 TraceCheckUtils]: 40: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,720 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #82#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,720 INFO L290 TraceCheckUtils]: 38: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,720 INFO L290 TraceCheckUtils]: 37: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,720 INFO L290 TraceCheckUtils]: 36: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,720 INFO L272 TraceCheckUtils]: 35: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,721 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {2064#true} {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} #80#return; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,721 INFO L290 TraceCheckUtils]: 33: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,721 INFO L290 TraceCheckUtils]: 32: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,721 INFO L290 TraceCheckUtils]: 31: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,721 INFO L272 TraceCheckUtils]: 30: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,725 INFO L290 TraceCheckUtils]: 29: Hoare triple {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} assume !false; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,731 INFO L290 TraceCheckUtils]: 28: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2283#(and (or (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (- 1) (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (= (+ (- 1) (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (not (< main_~p~0 0)) (= (+ (* (+ main_~q~0 (div main_~p~0 2) 1) main_~B~0) main_~r~0 (* (- 1) (div main_~d~0 2))) main_~A~0) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= main_~A~0 (+ (* main_~B~0 (+ main_~q~0 (div main_~p~0 2))) main_~r~0 (* (- 1) (div main_~d~0 2))))))))} is VALID [2022-04-27 13:49:37,732 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #84#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,732 INFO L290 TraceCheckUtils]: 24: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,732 INFO L272 TraceCheckUtils]: 23: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,733 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #82#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 21: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 20: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 19: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L272 TraceCheckUtils]: 18: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {2064#true} {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} #80#return; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 16: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 15: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,734 INFO L290 TraceCheckUtils]: 14: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,735 INFO L272 TraceCheckUtils]: 13: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,735 INFO L290 TraceCheckUtils]: 12: Hoare triple {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} assume !false; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,735 INFO L290 TraceCheckUtils]: 11: Hoare triple {2064#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {2279#(= main_~A~0 (+ (* (- 1) main_~d~0) main_~r~0 (* (+ main_~q~0 main_~p~0) main_~B~0)))} is VALID [2022-04-27 13:49:37,735 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2064#true} {2064#true} #78#return; {2064#true} is VALID [2022-04-27 13:49:37,735 INFO L290 TraceCheckUtils]: 9: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L290 TraceCheckUtils]: 8: Hoare triple {2064#true} assume !(0 == ~cond); {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L290 TraceCheckUtils]: 7: Hoare triple {2064#true} ~cond := #in~cond; {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L272 TraceCheckUtils]: 6: Hoare triple {2064#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L290 TraceCheckUtils]: 5: Hoare triple {2064#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L272 TraceCheckUtils]: 4: Hoare triple {2064#true} call #t~ret5 := main(); {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2064#true} {2064#true} #94#return; {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L290 TraceCheckUtils]: 2: Hoare triple {2064#true} assume true; {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L290 TraceCheckUtils]: 1: Hoare triple {2064#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(8, 2);call #Ultimate.allocInit(12, 3); {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L272 TraceCheckUtils]: 0: Hoare triple {2064#true} call ULTIMATE.init(); {2064#true} is VALID [2022-04-27 13:49:37,736 INFO L134 CoverageAnalysis]: Checked inductivity of 135 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 112 trivial. 0 not checked. [2022-04-27 13:49:37,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:37,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544810291] [2022-04-27 13:49:37,737 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:37,737 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1697495846] [2022-04-27 13:49:37,737 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1697495846] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:49:37,737 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:49:37,737 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:49:37,737 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1995918500] [2022-04-27 13:49:37,737 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:49:37,738 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:49:37,738 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:37,738 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:49:37,834 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:37,835 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:49:37,835 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:37,835 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:49:37,835 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:49:37,835 INFO L87 Difference]: Start difference. First operand 64 states and 77 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:49:43,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:43,926 INFO L93 Difference]: Finished difference Result 154 states and 210 transitions. [2022-04-27 13:49:43,926 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:49:43,926 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) Word has length 64 [2022-04-27 13:49:43,926 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:43,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:49:43,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:49:43,929 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:49:43,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 141 transitions. [2022-04-27 13:49:43,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 141 transitions. [2022-04-27 13:49:44,124 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:44,127 INFO L225 Difference]: With dead ends: 154 [2022-04-27 13:49:44,127 INFO L226 Difference]: Without dead ends: 125 [2022-04-27 13:49:44,127 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 116 SyntacticMatches, 3 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=50, Invalid=132, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:49:44,128 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 42 mSDsluCounter, 122 mSDsCounter, 0 mSdLazyCounter, 277 mSolverCounterSat, 79 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 356 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 79 IncrementalHoareTripleChecker+Valid, 277 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:44,128 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 168 Invalid, 356 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [79 Valid, 277 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-27 13:49:44,128 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-27 13:49:44,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 113. [2022-04-27 13:49:44,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:44,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:49:44,171 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:49:44,172 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:49:44,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:44,176 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:49:44,176 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:49:44,178 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:44,178 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:44,178 INFO L74 IsIncluded]: Start isIncluded. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:49:44,179 INFO L87 Difference]: Start difference. First operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) Second operand 125 states. [2022-04-27 13:49:44,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:44,183 INFO L93 Difference]: Finished difference Result 125 states and 166 transitions. [2022-04-27 13:49:44,183 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 166 transitions. [2022-04-27 13:49:44,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:44,184 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:44,184 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:44,184 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:44,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 113 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 33 states have call successors, (33), 13 states have call predecessors, (33), 12 states have return successors, (31), 28 states have call predecessors, (31), 31 states have call successors, (31) [2022-04-27 13:49:44,188 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 146 transitions. [2022-04-27 13:49:44,188 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 146 transitions. Word has length 64 [2022-04-27 13:49:44,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:44,189 INFO L495 AbstractCegarLoop]: Abstraction has 113 states and 146 transitions. [2022-04-27 13:49:44,189 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 7 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (18), 5 states have call predecessors, (18), 5 states have call successors, (18) [2022-04-27 13:49:44,189 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 146 transitions. [2022-04-27 13:49:44,190 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:49:44,190 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:44,190 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:44,209 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:49:44,399 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:44,399 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:44,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:44,400 INFO L85 PathProgramCache]: Analyzing trace with hash -1554666020, now seen corresponding path program 1 times [2022-04-27 13:49:44,400 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:44,400 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1503835805] [2022-04-27 13:49:44,401 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:44,401 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:44,414 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:44,415 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [566087423] [2022-04-27 13:49:44,415 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:44,415 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:44,415 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:44,420 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 13:49:44,422 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 13:49:44,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:44,462 INFO L263 TraceCheckSpWp]: Trace formula consists of 183 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-27 13:49:44,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:44,480 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:45,013 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:49:45,013 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:49:45,013 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,013 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:49:45,013 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:49:45,014 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:49:45,014 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,014 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,014 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:49:45,018 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,018 INFO L290 TraceCheckUtils]: 12: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,018 INFO L272 TraceCheckUtils]: 13: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,018 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,018 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,023 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,026 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #80#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,030 INFO L272 TraceCheckUtils]: 18: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,031 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,031 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,031 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,032 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #82#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,032 INFO L272 TraceCheckUtils]: 23: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,032 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,032 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,032 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,033 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #84#return; {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,033 INFO L290 TraceCheckUtils]: 28: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,034 INFO L290 TraceCheckUtils]: 29: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,034 INFO L272 TraceCheckUtils]: 30: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,034 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,034 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,034 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,035 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #80#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,035 INFO L272 TraceCheckUtils]: 35: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,035 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,035 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,035 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,036 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #82#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,036 INFO L272 TraceCheckUtils]: 40: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,036 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,036 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,036 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #84#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !(~r~0 >= ~d~0); {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !false; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,037 INFO L272 TraceCheckUtils]: 47: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,037 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,038 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #86#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,038 INFO L272 TraceCheckUtils]: 52: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,038 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:45,038 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:45,038 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:45,039 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} #88#return; {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} is VALID [2022-04-27 13:49:45,039 INFO L290 TraceCheckUtils]: 57: Hoare triple {3193#(and (= main_~A~0 main_~r~0) (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (= main_~B~0 1))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,040 INFO L290 TraceCheckUtils]: 58: Hoare triple {3141#(and (= main_~A~0 main_~r~0) (= main_~q~0 0) (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,040 INFO L290 TraceCheckUtils]: 59: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} assume !false; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,040 INFO L272 TraceCheckUtils]: 60: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,040 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:45,041 INFO L290 TraceCheckUtils]: 62: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:45,041 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:45,042 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #86#return; {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,042 INFO L272 TraceCheckUtils]: 65: Hoare triple {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:45,042 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:45,042 INFO L290 TraceCheckUtils]: 67: Hoare triple {3294#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:45,043 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:45,043 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3284#(and (= main_~q~0 main_~p~0) (= main_~B~0 1) (= main_~r~0 (+ (* (- 1) main_~d~0) main_~A~0)) (= main_~B~0 main_~d~0) (= main_~p~0 1))} #88#return; {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} is VALID [2022-04-27 13:49:45,044 INFO L290 TraceCheckUtils]: 70: Hoare triple {3320#(and (= main_~q~0 main_~p~0) (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~p~0 1))} assume !(1 != ~p~0); {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} is VALID [2022-04-27 13:49:45,044 INFO L272 TraceCheckUtils]: 71: Hoare triple {3324#(and (= main_~d~0 1) (= (+ main_~d~0 main_~r~0) main_~A~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:45,045 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:45,045 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:49:45,045 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:49:45,045 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 66 proven. 11 refuted. 0 times theorem prover too weak. 132 trivial. 0 not checked. [2022-04-27 13:49:45,045 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:49:56,461 INFO L290 TraceCheckUtils]: 74: Hoare triple {3104#false} assume !false; {3104#false} is VALID [2022-04-27 13:49:56,462 INFO L290 TraceCheckUtils]: 73: Hoare triple {3332#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3104#false} is VALID [2022-04-27 13:49:56,462 INFO L290 TraceCheckUtils]: 72: Hoare triple {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3332#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:49:56,463 INFO L272 TraceCheckUtils]: 71: Hoare triple {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3328#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:49:56,463 INFO L290 TraceCheckUtils]: 70: Hoare triple {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {3348#(= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0)} is VALID [2022-04-27 13:49:56,464 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} #88#return; {3352#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:49:56,464 INFO L290 TraceCheckUtils]: 68: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:56,464 INFO L290 TraceCheckUtils]: 67: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:56,464 INFO L290 TraceCheckUtils]: 66: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:49:56,465 INFO L272 TraceCheckUtils]: 65: Hoare triple {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,467 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} {3103#true} #86#return; {3356#(or (= (+ (* main_~d~0 main_~q~0) main_~r~0) main_~A~0) (not (= (* main_~B~0 main_~p~0) main_~d~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:49:56,467 INFO L290 TraceCheckUtils]: 63: Hoare triple {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:56,467 INFO L290 TraceCheckUtils]: 62: Hoare triple {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3298#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 61: Hoare triple {3103#true} ~cond := #in~cond; {3366#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:49:56,468 INFO L272 TraceCheckUtils]: 60: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 59: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 58: Hoare triple {3103#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 57: Hoare triple {3103#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {3103#true} {3103#true} #88#return; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 55: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 54: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 53: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L272 TraceCheckUtils]: 52: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {3103#true} {3103#true} #86#return; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 50: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 49: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 48: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L272 TraceCheckUtils]: 47: Hoare triple {3103#true} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 45: Hoare triple {3103#true} assume !(~r~0 >= ~d~0); {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:49:56,468 INFO L290 TraceCheckUtils]: 43: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 42: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 41: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L272 TraceCheckUtils]: 40: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 38: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 37: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 36: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L272 TraceCheckUtils]: 35: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 33: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 32: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 31: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L272 TraceCheckUtils]: 30: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 29: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 28: Hoare triple {3103#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3103#true} {3103#true} #84#return; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 26: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 25: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L290 TraceCheckUtils]: 24: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,469 INFO L272 TraceCheckUtils]: 23: Hoare triple {3103#true} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3103#true} {3103#true} #82#return; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 21: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 20: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 19: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L272 TraceCheckUtils]: 18: Hoare triple {3103#true} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {3103#true} {3103#true} #80#return; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 16: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L272 TraceCheckUtils]: 13: Hoare triple {3103#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 12: Hoare triple {3103#true} assume !false; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 11: Hoare triple {3103#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3103#true} {3103#true} #78#return; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 9: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 8: Hoare triple {3103#true} assume !(0 == ~cond); {3103#true} is VALID [2022-04-27 13:49:56,470 INFO L290 TraceCheckUtils]: 7: Hoare triple {3103#true} ~cond := #in~cond; {3103#true} is VALID [2022-04-27 13:49:56,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {3103#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {3103#true} is VALID [2022-04-27 13:49:56,472 INFO L290 TraceCheckUtils]: 5: Hoare triple {3103#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {3103#true} is VALID [2022-04-27 13:49:56,473 INFO L272 TraceCheckUtils]: 4: Hoare triple {3103#true} call #t~ret5 := main(); {3103#true} is VALID [2022-04-27 13:49:56,473 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3103#true} {3103#true} #94#return; {3103#true} is VALID [2022-04-27 13:49:56,474 INFO L290 TraceCheckUtils]: 2: Hoare triple {3103#true} assume true; {3103#true} is VALID [2022-04-27 13:49:56,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {3103#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(8, 2);call #Ultimate.allocInit(12, 3); {3103#true} is VALID [2022-04-27 13:49:56,474 INFO L272 TraceCheckUtils]: 0: Hoare triple {3103#true} call ULTIMATE.init(); {3103#true} is VALID [2022-04-27 13:49:56,474 INFO L134 CoverageAnalysis]: Checked inductivity of 209 backedges. 68 proven. 2 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-27 13:49:56,474 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:56,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1503835805] [2022-04-27 13:49:56,474 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:56,474 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [566087423] [2022-04-27 13:49:56,474 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [566087423] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:49:56,474 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:49:56,474 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-27 13:49:56,475 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786839511] [2022-04-27 13:49:56,475 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:49:56,475 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:49:56,476 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:56,477 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:49:56,545 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:56,545 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 13:49:56,545 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:56,546 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 13:49:56,546 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-27 13:49:56,546 INFO L87 Difference]: Start difference. First operand 113 states and 146 transitions. Second operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:49:57,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:57,642 INFO L93 Difference]: Finished difference Result 169 states and 219 transitions. [2022-04-27 13:49:57,642 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:49:57,643 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) Word has length 75 [2022-04-27 13:49:57,643 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:57,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:49:57,645 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:49:57,645 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:49:57,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-27 13:49:57,647 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-27 13:49:57,741 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:57,744 INFO L225 Difference]: With dead ends: 169 [2022-04-27 13:49:57,744 INFO L226 Difference]: Without dead ends: 115 [2022-04-27 13:49:57,745 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 151 GetRequests, 133 SyntacticMatches, 3 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=65, Invalid=207, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:49:57,745 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 34 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 350 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 388 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 350 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:57,745 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 146 Invalid, 388 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 350 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:49:57,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-27 13:49:57,775 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 101. [2022-04-27 13:49:57,776 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:57,780 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:57,781 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:57,782 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:57,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:57,786 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:49:57,787 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:49:57,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:57,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:57,787 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:49:57,787 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) Second operand 115 states. [2022-04-27 13:49:57,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:57,791 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-27 13:49:57,791 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 142 transitions. [2022-04-27 13:49:57,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:57,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:57,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:57,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:57,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.1639344262295082) internal successors, (71), 64 states have internal predecessors, (71), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 22 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:57,793 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 121 transitions. [2022-04-27 13:49:57,793 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 121 transitions. Word has length 75 [2022-04-27 13:49:57,794 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:57,794 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 121 transitions. [2022-04-27 13:49:57,794 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 12 states have (on average 2.9166666666666665) internal successors, (35), 11 states have internal predecessors, (35), 7 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 7 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:49:57,794 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 121 transitions. [2022-04-27 13:49:57,794 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:49:57,794 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:57,794 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 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, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:49:57,814 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 13:49:58,011 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:58,011 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:49:58,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:49:58,012 INFO L85 PathProgramCache]: Analyzing trace with hash 1204093031, now seen corresponding path program 1 times [2022-04-27 13:49:58,012 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:49:58,012 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [947396664] [2022-04-27 13:49:58,012 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:58,012 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:49:58,020 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:49:58,021 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1794795548] [2022-04-27 13:49:58,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:49:58,021 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:49:58,021 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:49:58,036 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 13:49:58,072 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 13:49:58,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:58,111 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:49:58,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:49:58,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:49:59,645 INFO L272 TraceCheckUtils]: 0: Hoare triple {4187#true} call ULTIMATE.init(); {4187#true} is VALID [2022-04-27 13:49:59,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {4187#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(8, 2);call #Ultimate.allocInit(12, 3); {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L290 TraceCheckUtils]: 2: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4187#true} {4187#true} #94#return; {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L272 TraceCheckUtils]: 4: Hoare triple {4187#true} call #t~ret5 := main(); {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L290 TraceCheckUtils]: 5: Hoare triple {4187#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L272 TraceCheckUtils]: 6: Hoare triple {4187#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L290 TraceCheckUtils]: 7: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L290 TraceCheckUtils]: 8: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L290 TraceCheckUtils]: 9: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,646 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4187#true} {4187#true} #78#return; {4187#true} is VALID [2022-04-27 13:49:59,651 INFO L290 TraceCheckUtils]: 11: Hoare triple {4187#true} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:49:59,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {4225#(<= 1 main_~p~0)} assume !false; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:49:59,652 INFO L272 TraceCheckUtils]: 13: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,652 INFO L290 TraceCheckUtils]: 14: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,652 INFO L290 TraceCheckUtils]: 15: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,652 INFO L290 TraceCheckUtils]: 16: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,652 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #80#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:49:59,653 INFO L272 TraceCheckUtils]: 18: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 19: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 20: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 21: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #82#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:49:59,653 INFO L272 TraceCheckUtils]: 23: Hoare triple {4225#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 24: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 25: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,653 INFO L290 TraceCheckUtils]: 26: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,654 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4187#true} {4225#(<= 1 main_~p~0)} #84#return; {4225#(<= 1 main_~p~0)} is VALID [2022-04-27 13:49:59,654 INFO L290 TraceCheckUtils]: 28: Hoare triple {4225#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 29: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !false; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:49:59,655 INFO L272 TraceCheckUtils]: 30: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 31: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 32: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 33: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #80#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:49:59,655 INFO L272 TraceCheckUtils]: 35: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 36: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 37: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,655 INFO L290 TraceCheckUtils]: 38: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,656 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #82#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:49:59,656 INFO L272 TraceCheckUtils]: 40: Hoare triple {4277#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,656 INFO L290 TraceCheckUtils]: 41: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,656 INFO L290 TraceCheckUtils]: 42: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,656 INFO L290 TraceCheckUtils]: 43: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,656 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4187#true} {4277#(<= 1 (div main_~p~0 2))} #84#return; {4277#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:49:59,657 INFO L290 TraceCheckUtils]: 45: Hoare triple {4277#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,657 INFO L290 TraceCheckUtils]: 46: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,657 INFO L272 TraceCheckUtils]: 47: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,657 INFO L290 TraceCheckUtils]: 48: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,657 INFO L290 TraceCheckUtils]: 49: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,657 INFO L290 TraceCheckUtils]: 50: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,658 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #80#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,658 INFO L272 TraceCheckUtils]: 52: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,658 INFO L290 TraceCheckUtils]: 53: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,658 INFO L290 TraceCheckUtils]: 54: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,658 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,658 INFO L272 TraceCheckUtils]: 57: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,659 INFO L290 TraceCheckUtils]: 58: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,659 INFO L290 TraceCheckUtils]: 59: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,659 INFO L290 TraceCheckUtils]: 60: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,664 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,664 INFO L290 TraceCheckUtils]: 62: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,664 INFO L290 TraceCheckUtils]: 63: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,664 INFO L272 TraceCheckUtils]: 64: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,664 INFO L290 TraceCheckUtils]: 65: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,665 INFO L290 TraceCheckUtils]: 66: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,665 INFO L290 TraceCheckUtils]: 67: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,666 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,666 INFO L272 TraceCheckUtils]: 69: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4187#true} is VALID [2022-04-27 13:49:59,666 INFO L290 TraceCheckUtils]: 70: Hoare triple {4187#true} ~cond := #in~cond; {4187#true} is VALID [2022-04-27 13:49:59,666 INFO L290 TraceCheckUtils]: 71: Hoare triple {4187#true} assume !(0 == ~cond); {4187#true} is VALID [2022-04-27 13:49:59,666 INFO L290 TraceCheckUtils]: 72: Hoare triple {4187#true} assume true; {4187#true} is VALID [2022-04-27 13:49:59,666 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4187#true} {4329#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {4329#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 74: Hoare triple {4329#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L272 TraceCheckUtils]: 75: Hoare triple {4188#false} call __VERIFIER_assert((if ~A~0 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 76: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 77: Hoare triple {4188#false} assume !(0 == ~cond); {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 78: Hoare triple {4188#false} assume true; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {4188#false} {4188#false} #90#return; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L272 TraceCheckUtils]: 80: Hoare triple {4188#false} call __VERIFIER_assert((if ~B~0 == ~d~0 then 1 else 0)); {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 81: Hoare triple {4188#false} ~cond := #in~cond; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 82: Hoare triple {4188#false} assume 0 == ~cond; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L290 TraceCheckUtils]: 83: Hoare triple {4188#false} assume !false; {4188#false} is VALID [2022-04-27 13:49:59,667 INFO L134 CoverageAnalysis]: Checked inductivity of 303 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:49:59,667 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:49:59,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:49:59,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [947396664] [2022-04-27 13:49:59,668 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:49:59,668 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1794795548] [2022-04-27 13:49:59,668 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1794795548] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:49:59,668 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:49:59,668 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:49:59,668 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1420264874] [2022-04-27 13:49:59,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:49:59,668 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:49:59,669 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:49:59,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:49:59,706 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 13:49:59,706 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:49:59,706 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:49:59,707 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:49:59,707 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:49:59,707 INFO L87 Difference]: Start difference. First operand 101 states and 121 transitions. Second operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:49:59,876 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:59,876 INFO L93 Difference]: Finished difference Result 115 states and 136 transitions. [2022-04-27 13:49:59,876 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:49:59,876 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 84 [2022-04-27 13:49:59,876 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:49:59,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:49:59,878 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:49:59,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:49:59,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 78 transitions. [2022-04-27 13:49:59,879 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 78 transitions. [2022-04-27 13:49:59,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:49:59,944 INFO L225 Difference]: With dead ends: 115 [2022-04-27 13:49:59,944 INFO L226 Difference]: Without dead ends: 103 [2022-04-27 13:49:59,944 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:49:59,945 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 9 mSDsluCounter, 54 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 106 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:49:59,945 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 106 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:49:59,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-27 13:49:59,976 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-27 13:49:59,977 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:49:59,977 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:59,977 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:59,977 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:59,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:59,980 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:49:59,980 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:49:59,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:59,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:59,981 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-27 13:49:59,981 INFO L87 Difference]: Start difference. First operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 103 states. [2022-04-27 13:49:59,983 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:49:59,983 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:49:59,983 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:49:59,983 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:49:59,984 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:49:59,984 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:49:59,984 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:49:59,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 63 states have (on average 1.1428571428571428) internal successors, (72), 64 states have internal predecessors, (72), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:49:59,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 122 transitions. [2022-04-27 13:49:59,986 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 122 transitions. Word has length 84 [2022-04-27 13:49:59,986 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:49:59,986 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 122 transitions. [2022-04-27 13:49:59,986 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.6) internal successors, (23), 5 states have internal predecessors, (23), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:49:59,986 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 122 transitions. [2022-04-27 13:49:59,987 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2022-04-27 13:49:59,987 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:49:59,987 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 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] [2022-04-27 13:50:00,007 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 13:50:00,201 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:00,201 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:50:00,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:50:00,202 INFO L85 PathProgramCache]: Analyzing trace with hash -132947769, now seen corresponding path program 2 times [2022-04-27 13:50:00,202 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:50:00,202 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1728646206] [2022-04-27 13:50:00,202 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:50:00,202 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:50:00,227 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:50:00,227 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [423411715] [2022-04-27 13:50:00,227 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:50:00,227 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:00,227 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:50:00,229 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 13:50:00,230 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 13:50:00,275 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:50:00,275 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:50:00,277 INFO L263 TraceCheckSpWp]: Trace formula consists of 225 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-27 13:50:00,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:50:00,293 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:50:00,827 INFO L272 TraceCheckUtils]: 0: Hoare triple {4957#true} call ULTIMATE.init(); {4957#true} is VALID [2022-04-27 13:50:00,827 INFO L290 TraceCheckUtils]: 1: Hoare triple {4957#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(8, 2);call #Ultimate.allocInit(12, 3); {4957#true} is VALID [2022-04-27 13:50:00,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,828 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4957#true} {4957#true} #94#return; {4957#true} is VALID [2022-04-27 13:50:00,828 INFO L272 TraceCheckUtils]: 4: Hoare triple {4957#true} call #t~ret5 := main(); {4957#true} is VALID [2022-04-27 13:50:00,828 INFO L290 TraceCheckUtils]: 5: Hoare triple {4957#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~A~0 := #t~nondet4;havoc #t~nondet4; {4957#true} is VALID [2022-04-27 13:50:00,828 INFO L272 TraceCheckUtils]: 6: Hoare triple {4957#true} call assume_abort_if_not((if ~A~0 >= 0 && ~A~0 <= 1 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,828 INFO L290 TraceCheckUtils]: 7: Hoare triple {4957#true} ~cond := #in~cond; {4983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:50:00,828 INFO L290 TraceCheckUtils]: 8: Hoare triple {4983#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:50:00,828 INFO L290 TraceCheckUtils]: 9: Hoare triple {4987#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4987#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:50:00,829 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4987#(not (= |assume_abort_if_not_#in~cond| 0))} {4957#true} #78#return; {4994#(and (<= 0 main_~A~0) (<= main_~A~0 1))} is VALID [2022-04-27 13:50:00,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {4994#(and (<= 0 main_~A~0) (<= main_~A~0 1))} ~B~0 := 1;~r~0 := ~A~0;~d~0 := ~B~0;~p~0 := 1;~q~0 := 0; {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 12: Hoare triple {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !false; {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-27 13:50:00,830 INFO L272 TraceCheckUtils]: 13: Hoare triple {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 14: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 15: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 16: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {4957#true} {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #80#return; {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-27 13:50:00,830 INFO L272 TraceCheckUtils]: 18: Hoare triple {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 19: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 20: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,830 INFO L290 TraceCheckUtils]: 21: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,831 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4957#true} {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #82#return; {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-27 13:50:00,831 INFO L272 TraceCheckUtils]: 23: Hoare triple {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,831 INFO L290 TraceCheckUtils]: 24: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,831 INFO L290 TraceCheckUtils]: 25: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,831 INFO L290 TraceCheckUtils]: 26: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,831 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4957#true} {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} #84#return; {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} is VALID [2022-04-27 13:50:00,832 INFO L290 TraceCheckUtils]: 28: Hoare triple {4998#(and (<= main_~r~0 1) (<= 1 main_~d~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-27 13:50:00,832 INFO L290 TraceCheckUtils]: 29: Hoare triple {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !false; {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-27 13:50:00,832 INFO L272 TraceCheckUtils]: 30: Hoare triple {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,832 INFO L290 TraceCheckUtils]: 31: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,832 INFO L290 TraceCheckUtils]: 32: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,833 INFO L290 TraceCheckUtils]: 33: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,834 INFO L284 TraceCheckUtils]: 34: Hoare quadruple {4957#true} {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #80#return; {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-27 13:50:00,834 INFO L272 TraceCheckUtils]: 35: Hoare triple {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,834 INFO L290 TraceCheckUtils]: 36: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,834 INFO L290 TraceCheckUtils]: 37: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,834 INFO L290 TraceCheckUtils]: 38: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,834 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4957#true} {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #82#return; {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-27 13:50:00,834 INFO L272 TraceCheckUtils]: 40: Hoare triple {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4957#true} is VALID [2022-04-27 13:50:00,835 INFO L290 TraceCheckUtils]: 41: Hoare triple {4957#true} ~cond := #in~cond; {4957#true} is VALID [2022-04-27 13:50:00,835 INFO L290 TraceCheckUtils]: 42: Hoare triple {4957#true} assume !(0 == ~cond); {4957#true} is VALID [2022-04-27 13:50:00,835 INFO L290 TraceCheckUtils]: 43: Hoare triple {4957#true} assume true; {4957#true} is VALID [2022-04-27 13:50:00,835 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4957#true} {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} #84#return; {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 45: Hoare triple {5050#(and (<= 1 (div main_~d~0 2)) (<= main_~r~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 46: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L272 TraceCheckUtils]: 47: Hoare triple {4958#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 48: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 49: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 50: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L284 TraceCheckUtils]: 51: Hoare quadruple {4958#false} {4958#false} #80#return; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L272 TraceCheckUtils]: 52: Hoare triple {4958#false} call __VERIFIER_assert((if ~r~0 == ~A~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 53: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 54: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 55: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L284 TraceCheckUtils]: 56: Hoare quadruple {4958#false} {4958#false} #82#return; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L272 TraceCheckUtils]: 57: Hoare triple {4958#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 58: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 59: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 60: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {4958#false} {4958#false} #84#return; {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 62: Hoare triple {4958#false} assume !(~r~0 >= ~d~0); {4958#false} is VALID [2022-04-27 13:50:00,836 INFO L290 TraceCheckUtils]: 63: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L272 TraceCheckUtils]: 64: Hoare triple {4958#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 65: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 66: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 67: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {4958#false} {4958#false} #86#return; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L272 TraceCheckUtils]: 69: Hoare triple {4958#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 70: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 71: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 72: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {4958#false} {4958#false} #88#return; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 74: Hoare triple {4958#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 75: Hoare triple {4958#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 76: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L272 TraceCheckUtils]: 77: Hoare triple {4958#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 78: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 79: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 80: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {4958#false} {4958#false} #86#return; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L272 TraceCheckUtils]: 82: Hoare triple {4958#false} call __VERIFIER_assert((if ~d~0 == ~B~0 * ~p~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 83: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 84: Hoare triple {4958#false} assume !(0 == ~cond); {4958#false} is VALID [2022-04-27 13:50:00,837 INFO L290 TraceCheckUtils]: 85: Hoare triple {4958#false} assume true; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {4958#false} {4958#false} #88#return; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 87: Hoare triple {4958#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 88: Hoare triple {4958#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 89: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L272 TraceCheckUtils]: 90: Hoare triple {4958#false} call __VERIFIER_assert((if ~A~0 == ~q~0 * ~B~0 + ~r~0 then 1 else 0)); {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 91: Hoare triple {4958#false} ~cond := #in~cond; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 92: Hoare triple {4958#false} assume 0 == ~cond; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L290 TraceCheckUtils]: 93: Hoare triple {4958#false} assume !false; {4958#false} is VALID [2022-04-27 13:50:00,838 INFO L134 CoverageAnalysis]: Checked inductivity of 362 backedges. 195 proven. 0 refuted. 0 times theorem prover too weak. 167 trivial. 0 not checked. [2022-04-27 13:50:00,838 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:50:00,838 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:50:00,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1728646206] [2022-04-27 13:50:00,838 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:50:00,838 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [423411715] [2022-04-27 13:50:00,839 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [423411715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:50:00,839 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:50:00,839 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-27 13:50:00,839 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1388041567] [2022-04-27 13:50:00,839 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:50:00,839 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 94 [2022-04-27 13:50:00,839 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:50:00,840 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:50:00,878 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 13:50:00,878 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-27 13:50:00,878 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:50:00,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-27 13:50:00,879 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-27 13:50:00,879 INFO L87 Difference]: Start difference. First operand 103 states and 122 transitions. Second operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:50:01,058 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:01,059 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2022-04-27 13:50:01,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:50:01,059 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) Word has length 94 [2022-04-27 13:50:01,059 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:50:01,059 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:50:01,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-27 13:50:01,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:50:01,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 57 transitions. [2022-04-27 13:50:01,061 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 57 transitions. [2022-04-27 13:50:01,108 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 13:50:01,108 INFO L225 Difference]: With dead ends: 103 [2022-04-27 13:50:01,108 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:50:01,109 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:50:01,110 INFO L413 NwaCegarLoop]: 26 mSDtfsCounter, 4 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 4 SdHoareTripleChecker+Valid, 103 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:50:01,111 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [4 Valid, 103 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:50:01,111 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:50:01,111 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:50:01,111 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:50:01,111 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 13:50:01,111 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 13:50:01,111 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 13:50:01,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:01,111 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:50:01,112 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:50:01,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:01,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:01,112 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 13:50:01,112 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 13:50:01,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:50:01,112 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:50:01,112 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:50:01,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:01,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:50:01,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:50:01,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:50:01,112 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 13:50:01,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:50:01,112 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 94 [2022-04-27 13:50:01,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:50:01,112 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:50:01,113 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.4285714285714284) internal successors, (24), 6 states have internal predecessors, (24), 4 states have call successors, (14), 2 states have call predecessors, (14), 3 states have return successors, (13), 5 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:50:01,113 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:50:01,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:50:01,115 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:50:01,137 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:50:01,333 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:50:01,335 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:50:01,833 INFO L895 garLoopResultBuilder]: At program point L58(line 58) the Hoare annotation is: (and (= main_~B~0 1) (= main_~B~0 main_~d~0) (= main_~p~0 1)) [2022-04-27 13:50:01,833 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L52(lines 52 55) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L52-2(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L46(lines 44 56) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 61) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L44-1(lines 44 56) the Hoare annotation is: (let ((.cse0 (= main_~B~0 1)) (.cse1 (= main_~B~0 main_~d~0)) (.cse2 (= main_~p~0 1))) (or (and (= main_~A~0 main_~r~0) (= main_~q~0 0) .cse0 .cse1 .cse2) (and (= main_~q~0 main_~p~0) (= (+ main_~d~0 main_~r~0) main_~A~0) .cse0 .cse1 .cse2))) [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L36(line 36) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L34-2(lines 34 42) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 61) the Hoare annotation is: true [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L59(line 59) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L45(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and (= (+ main_~d~0 main_~r~0) main_~A~0) .cse2 (= main_~q~0 1) .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L45-1(line 45) the Hoare annotation is: (let ((.cse0 (= main_~A~0 main_~r~0)) (.cse1 (= main_~q~0 0)) (.cse2 (= main_~B~0 1)) (.cse3 (= main_~B~0 main_~d~0)) (.cse4 (= main_~p~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4) (and .cse0 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse1 .cse2) (and (= (+ main_~d~0 main_~r~0) main_~A~0) .cse2 (= main_~q~0 1) .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point L37(lines 34 42) no Hoare annotation was computed. [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L35(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L895 garLoopResultBuilder]: At program point L35-1(line 35) the Hoare annotation is: (let ((.cse0 (<= 0 main_~A~0)) (.cse1 (= main_~A~0 main_~r~0)) (.cse2 (<= main_~A~0 1)) (.cse3 (= main_~q~0 0)) (.cse4 (= main_~B~0 1))) (or (and .cse0 .cse1 .cse2 .cse3 .cse4 (= main_~B~0 main_~d~0) (= main_~p~0 1)) (and .cse0 .cse1 (= (* main_~B~0 2) main_~d~0) (= main_~p~0 2) .cse2 .cse3 .cse4))) [2022-04-27 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:50:01,834 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 13:50:01,834 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:50:01,835 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:50:01,835 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 13:50:01,837 INFO L356 BasicCegarLoop]: Path program histogram: [2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:50:01,839 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:50:01,841 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:50:01,841 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:50:01,844 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L52-2 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L37 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L46 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L59 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: L52 has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:50:01,846 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:50:01,846 INFO L163 areAnnotationChecker]: CFG has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:50:01,862 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:50:01 BoogieIcfgContainer [2022-04-27 13:50:01,862 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:50:01,863 INFO L158 Benchmark]: Toolchain (without parser) took 32002.99ms. Allocated memory was 179.3MB in the beginning and 226.5MB in the end (delta: 47.2MB). Free memory was 128.7MB in the beginning and 184.1MB in the end (delta: -55.3MB). Peak memory consumption was 105.2MB. Max. memory is 8.0GB. [2022-04-27 13:50:01,863 INFO L158 Benchmark]: CDTParser took 0.10ms. Allocated memory is still 179.3MB. Free memory is still 145.1MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:50:01,866 INFO L158 Benchmark]: CACSL2BoogieTranslator took 186.98ms. Allocated memory is still 179.3MB. Free memory was 128.4MB in the beginning and 153.2MB in the end (delta: -24.8MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. [2022-04-27 13:50:01,866 INFO L158 Benchmark]: Boogie Preprocessor took 35.82ms. Allocated memory is still 179.3MB. Free memory was 153.2MB in the beginning and 151.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. [2022-04-27 13:50:01,866 INFO L158 Benchmark]: RCFGBuilder took 265.23ms. Allocated memory is still 179.3MB. Free memory was 151.6MB in the beginning and 140.3MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:50:01,867 INFO L158 Benchmark]: TraceAbstraction took 31494.80ms. Allocated memory was 179.3MB in the beginning and 226.5MB in the end (delta: 47.2MB). Free memory was 139.7MB in the beginning and 184.1MB in the end (delta: -44.4MB). Peak memory consumption was 115.9MB. Max. memory is 8.0GB. [2022-04-27 13:50:01,869 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.10ms. Allocated memory is still 179.3MB. Free memory is still 145.1MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 186.98ms. Allocated memory is still 179.3MB. Free memory was 128.4MB in the beginning and 153.2MB in the end (delta: -24.8MB). Peak memory consumption was 13.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 35.82ms. Allocated memory is still 179.3MB. Free memory was 153.2MB in the beginning and 151.8MB in the end (delta: 1.4MB). Peak memory consumption was 1.0MB. Max. memory is 8.0GB. * RCFGBuilder took 265.23ms. Allocated memory is still 179.3MB. Free memory was 151.6MB in the beginning and 140.3MB in the end (delta: 11.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 31494.80ms. Allocated memory was 179.3MB in the beginning and 226.5MB in the end (delta: 47.2MB). Free memory was 139.7MB in the beginning and 184.1MB in the end (delta: -44.4MB). Peak memory consumption was 115.9MB. 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: 17]: 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, 38 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 31.4s, OverallIterations: 10, TraceHistogramMax: 14, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 11.3s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 253 SdHoareTripleChecker+Valid, 1.9s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 203 mSDsluCounter, 988 SdHoareTripleChecker+Invalid, 1.9s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 632 mSDsCounter, 201 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1090 IncrementalHoareTripleChecker+Invalid, 1291 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 201 mSolverCounterUnsat, 356 mSDtfsCounter, 1090 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 645 GetRequests, 568 SyntacticMatches, 8 SemanticMatches, 69 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 2.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=113occurred in iteration=7, 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, 10 MinimizatonAttempts, 44 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 15 LocationsWithAnnotation, 83 PreInvPairs, 103 NumberOfFragments, 352 HoareAnnotationTreeSize, 83 FomulaSimplifications, 28 FormulaSimplificationTreeSizeReduction, 0.1s HoareSimplificationTime, 15 FomulaSimplificationsInter, 251 FormulaSimplificationTreeSizeReductionInter, 0.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 16.8s InterpolantComputationTime, 478 NumberOfCodeBlocks, 478 NumberOfCodeBlocksAsserted, 11 NumberOfCheckSat, 648 ConstructedInterpolants, 0 QuantifiedInterpolants, 3057 SizeOfPredicates, 16 NumberOfNonLiveVariables, 1081 ConjunctsInSsa, 107 ConjunctsInUnsatCore, 13 InterpolantComputations, 8 PerfectInterpolantSequences, 1458/1489 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 <= A && A == r) && A <= 1) && q == 0) && B == 1) && B == d) && p == 1) || ((((((0 <= A && A == r) && B * 2 == d) && p == 2) && A <= 1) && q == 0) && B == 1) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:50:01,891 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...