/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/hard-ll_unwindbound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:22:19,149 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:22:19,150 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:22:19,172 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:22:19,173 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:22:19,174 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:22:19,175 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:22:19,182 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:22:19,183 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:22:19,184 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:22:19,184 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:22:19,185 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:22:19,185 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:22:19,186 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:22:19,187 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:22:19,188 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:22:19,188 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:22:19,189 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:22:19,190 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:22:19,195 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:22:19,199 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:22:19,203 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:22:19,205 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:22:19,207 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:22:19,209 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:22:19,217 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:22:19,217 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:22:19,217 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:22:19,218 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:22:19,218 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:22:19,219 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:22:19,219 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:22:19,219 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:22:19,220 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:22:19,220 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:22:19,221 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:22:19,221 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:22:19,221 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:22:19,222 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:22:19,222 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:22:19,222 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:22:19,223 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:22:19,224 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:22:19,249 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:22:19,249 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:22:19,250 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:22:19,250 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:22:19,250 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:22:19,250 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:22:19,251 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:22:19,251 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:22:19,251 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:22:19,252 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:22:19,252 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:19,253 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:22:19,253 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:22:19,254 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:22:19,441 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:22:19,461 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:22:19,463 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:22:19,464 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:22:19,479 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:22:19,480 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound20.c [2022-04-27 13:22:19,536 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3802d59c/6bed68c79c6c4c9980c0dbb204f2af9d/FLAG326dc4e33 [2022-04-27 13:22:19,914 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:22:19,914 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_unwindbound20.c [2022-04-27 13:22:19,920 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3802d59c/6bed68c79c6c4c9980c0dbb204f2af9d/FLAG326dc4e33 [2022-04-27 13:22:20,343 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/e3802d59c/6bed68c79c6c4c9980c0dbb204f2af9d [2022-04-27 13:22:20,346 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:22:20,347 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:22:20,351 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:20,351 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:22:20,354 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:22:20,355 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,356 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@757110ce and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,356 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,362 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:22:20,372 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:22:20,510 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/hard-ll_unwindbound20.c[538,551] [2022-04-27 13:22:20,551 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:20,558 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:22:20,569 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/hard-ll_unwindbound20.c[538,551] [2022-04-27 13:22:20,579 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:20,590 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:22:20,590 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20 WrapperNode [2022-04-27 13:22:20,591 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:20,592 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:22:20,592 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:22:20,592 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:22:20,601 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,601 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,606 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,606 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,611 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,615 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,616 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,617 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:22:20,618 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:22:20,618 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:22:20,618 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:22:20,619 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (1/1) ... [2022-04-27 13:22:20,627 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:20,634 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:20,644 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:22:20,672 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:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:22:20,710 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:22:20,710 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:22:20,710 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:22:20,711 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:22:20,712 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:22:20,761 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:22:20,762 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:22:20,888 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:22:20,915 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:22:20,916 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:22:20,917 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:20 BoogieIcfgContainer [2022-04-27 13:22:20,917 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:22:20,918 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:22:20,919 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:22:20,927 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:22:20,927 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:22:20" (1/3) ... [2022-04-27 13:22:20,928 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@361516a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,928 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:20" (2/3) ... [2022-04-27 13:22:20,928 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@361516a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:20, skipping insertion in model container [2022-04-27 13:22:20,928 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:20" (3/3) ... [2022-04-27 13:22:20,929 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_unwindbound20.c [2022-04-27 13:22:20,945 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:22:20,945 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:22:20,985 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:22:20,992 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@7653e165, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@600b7c6f [2022-04-27 13:22:20,993 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:22:20,999 INFO L276 IsEmpty]: Start isEmpty. Operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 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:22:21,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:21,005 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:21,005 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:21,006 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:21,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:21,012 INFO L85 PathProgramCache]: Analyzing trace with hash 1191571617, now seen corresponding path program 1 times [2022-04-27 13:22:21,022 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:21,024 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [420261494] [2022-04-27 13:22:21,024 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,025 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:21,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,245 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:21,252 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:21,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:21,270 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:21,271 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:21,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,289 INFO L290 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:21,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:21,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:21,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:21,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:21,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {49#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {40#true} is VALID [2022-04-27 13:22:21,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2022-04-27 13:22:21,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #96#return; {40#true} is VALID [2022-04-27 13:22:21,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret8 := main(); {40#true} is VALID [2022-04-27 13:22:21,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {40#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {40#true} is VALID [2022-04-27 13:22:21,295 INFO L272 TraceCheckUtils]: 6: Hoare triple {40#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {40#true} is VALID [2022-04-27 13:22:21,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2022-04-27 13:22:21,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2022-04-27 13:22:21,296 INFO L290 TraceCheckUtils]: 9: Hoare triple {41#false} assume true; {41#false} is VALID [2022-04-27 13:22:21,296 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {41#false} {40#true} #80#return; {41#false} is VALID [2022-04-27 13:22:21,297 INFO L290 TraceCheckUtils]: 11: Hoare triple {41#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {41#false} is VALID [2022-04-27 13:22:21,297 INFO L290 TraceCheckUtils]: 12: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:21,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#false} assume !true; {41#false} is VALID [2022-04-27 13:22:21,298 INFO L272 TraceCheckUtils]: 14: Hoare triple {41#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {41#false} is VALID [2022-04-27 13:22:21,299 INFO L290 TraceCheckUtils]: 15: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2022-04-27 13:22:21,299 INFO L290 TraceCheckUtils]: 16: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2022-04-27 13:22:21,299 INFO L290 TraceCheckUtils]: 17: Hoare triple {41#false} assume !false; {41#false} is VALID [2022-04-27 13:22:21,300 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:22:21,300 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:21,301 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [420261494] [2022-04-27 13:22:21,301 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [420261494] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:21,302 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:21,302 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:22:21,303 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1733036739] [2022-04-27 13:22:21,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:21,309 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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 18 [2022-04-27 13:22:21,311 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:21,314 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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:22:21,347 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:21,347 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:22:21,347 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:21,370 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:22:21,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:21,374 INFO L87 Difference]: Start difference. First operand has 37 states, 21 states have (on average 1.4761904761904763) internal successors, (31), 22 states have internal predecessors, (31), 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 4.0) internal successors, (12), 2 states have internal predecessors, (12), 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:22:21,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,608 INFO L93 Difference]: Finished difference Result 66 states and 101 transitions. [2022-04-27 13:22:21,608 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:22:21,608 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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 18 [2022-04-27 13:22:21,608 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:21,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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:22:21,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:21,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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:22:21,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 101 transitions. [2022-04-27 13:22:21,636 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 101 transitions. [2022-04-27 13:22:21,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:21,774 INFO L225 Difference]: With dead ends: 66 [2022-04-27 13:22:21,774 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:22:21,778 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:22:21,782 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 33 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:21,784 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 49 Invalid, 33 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:21,808 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:22:21,820 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 32. [2022-04-27 13:22:21,820 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:21,821 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:22:21,821 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:22:21,822 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:22:21,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,825 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:21,825 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:21,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,826 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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 33 states. [2022-04-27 13:22:21,827 INFO L87 Difference]: Start difference. First operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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 33 states. [2022-04-27 13:22:21,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:21,830 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:21,830 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:21,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:21,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:21,831 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:21,831 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:21,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 18 states have (on average 1.3333333333333333) internal successors, (24), 19 states have internal predecessors, (24), 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:22:21,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 42 transitions. [2022-04-27 13:22:21,835 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 42 transitions. Word has length 18 [2022-04-27 13:22:21,835 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:21,835 INFO L495 AbstractCegarLoop]: Abstraction has 32 states and 42 transitions. [2022-04-27 13:22:21,835 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (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:22:21,836 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 42 transitions. [2022-04-27 13:22:21,836 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-04-27 13:22:21,836 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:21,836 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:21,837 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:22:21,837 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:21,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:21,837 INFO L85 PathProgramCache]: Analyzing trace with hash 336486197, now seen corresponding path program 1 times [2022-04-27 13:22:21,838 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:21,838 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1363243850] [2022-04-27 13:22:21,838 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:21,838 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:21,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,919 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:21,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,929 INFO L290 TraceCheckUtils]: 0: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:21,929 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,930 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:21,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:21,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:21,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:21,936 INFO L290 TraceCheckUtils]: 1: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:21,936 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,936 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:21,937 INFO L272 TraceCheckUtils]: 0: Hoare triple {256#true} call ULTIMATE.init(); {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:21,937 INFO L290 TraceCheckUtils]: 1: Hoare triple {268#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {256#true} is VALID [2022-04-27 13:22:21,937 INFO L290 TraceCheckUtils]: 2: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {256#true} {256#true} #96#return; {256#true} is VALID [2022-04-27 13:22:21,938 INFO L272 TraceCheckUtils]: 4: Hoare triple {256#true} call #t~ret8 := main(); {256#true} is VALID [2022-04-27 13:22:21,938 INFO L290 TraceCheckUtils]: 5: Hoare triple {256#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {256#true} is VALID [2022-04-27 13:22:21,938 INFO L272 TraceCheckUtils]: 6: Hoare triple {256#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {256#true} is VALID [2022-04-27 13:22:21,938 INFO L290 TraceCheckUtils]: 7: Hoare triple {256#true} ~cond := #in~cond; {256#true} is VALID [2022-04-27 13:22:21,938 INFO L290 TraceCheckUtils]: 8: Hoare triple {256#true} assume !(0 == ~cond); {256#true} is VALID [2022-04-27 13:22:21,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {256#true} assume true; {256#true} is VALID [2022-04-27 13:22:21,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {256#true} {256#true} #80#return; {256#true} is VALID [2022-04-27 13:22:21,939 INFO L290 TraceCheckUtils]: 11: Hoare triple {256#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,940 INFO L290 TraceCheckUtils]: 12: Hoare triple {265#(= main_~q~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,940 INFO L290 TraceCheckUtils]: 13: Hoare triple {265#(= main_~q~0 0)} assume !!(#t~post6 < 20);havoc #t~post6; {265#(= main_~q~0 0)} is VALID [2022-04-27 13:22:21,941 INFO L272 TraceCheckUtils]: 14: Hoare triple {265#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {266#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:21,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {266#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {267#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:21,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {267#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {257#false} is VALID [2022-04-27 13:22:21,942 INFO L290 TraceCheckUtils]: 17: Hoare triple {257#false} assume !false; {257#false} is VALID [2022-04-27 13:22:21,942 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:22:21,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:21,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1363243850] [2022-04-27 13:22:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1363243850] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:21,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:21,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:21,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1344224544] [2022-04-27 13:22:21,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:21,944 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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 18 [2022-04-27 13:22:21,945 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:21,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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:22:21,958 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:21,959 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:21,959 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:21,960 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:21,960 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:21,960 INFO L87 Difference]: Start difference. First operand 32 states and 42 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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:22:22,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,323 INFO L93 Difference]: Finished difference Result 47 states and 62 transitions. [2022-04-27 13:22:22,323 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:22,323 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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 18 [2022-04-27 13:22:22,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:22,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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:22:22,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:22,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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:22:22,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:22,328 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:22,385 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,387 INFO L225 Difference]: With dead ends: 47 [2022-04-27 13:22:22,387 INFO L226 Difference]: Without dead ends: 45 [2022-04-27 13:22:22,387 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:22:22,388 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 28 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 99 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 90 SdHoareTripleChecker+Invalid, 113 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 99 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:22,389 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 90 Invalid, 113 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 99 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:22,390 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2022-04-27 13:22:22,394 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 36. [2022-04-27 13:22:22,394 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:22,395 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:22:22,395 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:22:22,396 INFO L87 Difference]: Start difference. First operand 45 states. Second operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:22:22,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,398 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:22,398 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:22,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,399 INFO L74 IsIncluded]: Start isIncluded. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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 45 states. [2022-04-27 13:22:22,400 INFO L87 Difference]: Start difference. First operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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 45 states. [2022-04-27 13:22:22,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,402 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-27 13:22:22,402 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 60 transitions. [2022-04-27 13:22:22,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:22,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:22,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 21 states have (on average 1.2857142857142858) internal successors, (27), 22 states have internal predecessors, (27), 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:22:22,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 45 transitions. [2022-04-27 13:22:22,405 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 45 transitions. Word has length 18 [2022-04-27 13:22:22,405 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:22,405 INFO L495 AbstractCegarLoop]: Abstraction has 36 states and 45 transitions. [2022-04-27 13:22:22,405 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 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:22:22,405 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 45 transitions. [2022-04-27 13:22:22,406 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2022-04-27 13:22:22,406 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:22,406 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:22,406 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:22:22,406 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:22,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:22,407 INFO L85 PathProgramCache]: Analyzing trace with hash -1819267188, now seen corresponding path program 1 times [2022-04-27 13:22:22,407 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:22,407 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1668324376] [2022-04-27 13:22:22,407 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:22,408 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:22,435 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:22,435 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1069452449] [2022-04-27 13:22:22,436 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:22,436 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:22,436 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:22,439 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:22:22,442 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:22:22,486 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,488 INFO L263 TraceCheckSpWp]: Trace formula consists of 87 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:22:22,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:22,517 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:22,638 INFO L272 TraceCheckUtils]: 0: Hoare triple {489#true} call ULTIMATE.init(); {489#true} is VALID [2022-04-27 13:22:22,639 INFO L290 TraceCheckUtils]: 1: Hoare triple {489#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {497#(<= ~counter~0 0)} {489#true} #96#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {497#(<= ~counter~0 0)} call #t~ret8 := main(); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,641 INFO L290 TraceCheckUtils]: 5: Hoare triple {497#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,642 INFO L272 TraceCheckUtils]: 6: Hoare triple {497#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {497#(<= ~counter~0 0)} ~cond := #in~cond; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {497#(<= ~counter~0 0)} assume !(0 == ~cond); {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {497#(<= ~counter~0 0)} assume true; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,644 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {497#(<= ~counter~0 0)} {497#(<= ~counter~0 0)} #80#return; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,644 INFO L290 TraceCheckUtils]: 11: Hoare triple {497#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {497#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:22,645 INFO L290 TraceCheckUtils]: 12: Hoare triple {497#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {531#(<= |main_#t~post6| 0)} is VALID [2022-04-27 13:22:22,645 INFO L290 TraceCheckUtils]: 13: Hoare triple {531#(<= |main_#t~post6| 0)} assume !(#t~post6 < 20);havoc #t~post6; {490#false} is VALID [2022-04-27 13:22:22,645 INFO L290 TraceCheckUtils]: 14: Hoare triple {490#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {490#false} is VALID [2022-04-27 13:22:22,645 INFO L290 TraceCheckUtils]: 15: Hoare triple {490#false} assume !(#t~post7 < 20);havoc #t~post7; {490#false} is VALID [2022-04-27 13:22:22,646 INFO L272 TraceCheckUtils]: 16: Hoare triple {490#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {490#false} is VALID [2022-04-27 13:22:22,646 INFO L290 TraceCheckUtils]: 17: Hoare triple {490#false} ~cond := #in~cond; {490#false} is VALID [2022-04-27 13:22:22,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {490#false} assume 0 == ~cond; {490#false} is VALID [2022-04-27 13:22:22,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {490#false} assume !false; {490#false} is VALID [2022-04-27 13:22:22,646 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:22:22,646 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:22,647 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:22,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1668324376] [2022-04-27 13:22:22,647 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:22,647 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1069452449] [2022-04-27 13:22:22,647 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1069452449] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:22,647 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:22,647 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 13:22:22,647 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306898109] [2022-04-27 13:22:22,648 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:22,648 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:22,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:22,648 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,664 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,664 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 13:22:22,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:22,665 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 13:22:22,665 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:22,665 INFO L87 Difference]: Start difference. First operand 36 states and 45 transitions. Second operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,740 INFO L93 Difference]: Finished difference Result 52 states and 67 transitions. [2022-04-27 13:22:22,740 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:22:22,740 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) Word has length 20 [2022-04-27 13:22:22,740 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:22,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:22,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 64 transitions. [2022-04-27 13:22:22,743 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 64 transitions. [2022-04-27 13:22:22,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:22,794 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:22,794 INFO L226 Difference]: Without dead ends: 38 [2022-04-27 13:22:22,795 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:22,796 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 0 mSDsluCounter, 67 mSDsCounter, 0 mSdLazyCounter, 8 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 0 SdHoareTripleChecker+Valid, 107 SdHoareTripleChecker+Invalid, 8 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 8 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:22,796 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [0 Valid, 107 Invalid, 8 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 8 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:22,797 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-04-27 13:22:22,803 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 38. [2022-04-27 13:22:22,803 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:22,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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:22:22,804 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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:22:22,804 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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:22:22,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,806 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:22,806 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,807 INFO L74 IsIncluded]: Start isIncluded. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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 38 states. [2022-04-27 13:22:22,807 INFO L87 Difference]: Start difference. First operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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 38 states. [2022-04-27 13:22:22,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:22,809 INFO L93 Difference]: Finished difference Result 38 states and 47 transitions. [2022-04-27 13:22:22,809 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:22,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:22,810 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:22,810 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:22,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 23 states have (on average 1.2608695652173914) internal successors, (29), 24 states have internal predecessors, (29), 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:22:22,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 47 transitions. [2022-04-27 13:22:22,811 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 47 transitions. Word has length 20 [2022-04-27 13:22:22,812 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:22,812 INFO L495 AbstractCegarLoop]: Abstraction has 38 states and 47 transitions. [2022-04-27 13:22:22,812 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 3.5) internal successors, (14), 3 states have internal predecessors, (14), 3 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (2), 1 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 13:22:22,812 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 47 transitions. [2022-04-27 13:22:22,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 13:22:22,812 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:22,812 INFO L195 NwaCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:22,838 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:22:23,027 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:23,028 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:23,028 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:23,028 INFO L85 PathProgramCache]: Analyzing trace with hash -784889968, now seen corresponding path program 1 times [2022-04-27 13:22:23,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:23,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [249195524] [2022-04-27 13:22:23,029 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,029 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:23,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,121 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:23,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,130 INFO L290 TraceCheckUtils]: 0: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:23,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,131 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:23,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:23,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,135 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:23,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:23,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:23,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 14 [2022-04-27 13:22:23,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,142 INFO L290 TraceCheckUtils]: 0: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:23,142 INFO L290 TraceCheckUtils]: 1: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:23,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:23,144 INFO L272 TraceCheckUtils]: 0: Hoare triple {757#true} call ULTIMATE.init(); {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:23,144 INFO L290 TraceCheckUtils]: 1: Hoare triple {773#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {757#true} is VALID [2022-04-27 13:22:23,144 INFO L290 TraceCheckUtils]: 2: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,144 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {757#true} {757#true} #96#return; {757#true} is VALID [2022-04-27 13:22:23,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {757#true} call #t~ret8 := main(); {757#true} is VALID [2022-04-27 13:22:23,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {757#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {757#true} is VALID [2022-04-27 13:22:23,145 INFO L272 TraceCheckUtils]: 6: Hoare triple {757#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:23,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:23,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:23,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {757#true} {757#true} #80#return; {757#true} is VALID [2022-04-27 13:22:23,146 INFO L290 TraceCheckUtils]: 11: Hoare triple {757#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:23,147 INFO L290 TraceCheckUtils]: 12: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:23,147 INFO L290 TraceCheckUtils]: 13: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:23,147 INFO L272 TraceCheckUtils]: 14: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {757#true} is VALID [2022-04-27 13:22:23,147 INFO L290 TraceCheckUtils]: 15: Hoare triple {757#true} ~cond := #in~cond; {757#true} is VALID [2022-04-27 13:22:23,148 INFO L290 TraceCheckUtils]: 16: Hoare triple {757#true} assume !(0 == ~cond); {757#true} is VALID [2022-04-27 13:22:23,148 INFO L290 TraceCheckUtils]: 17: Hoare triple {757#true} assume true; {757#true} is VALID [2022-04-27 13:22:23,148 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {757#true} {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #82#return; {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:23,149 INFO L272 TraceCheckUtils]: 19: Hoare triple {766#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {771#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:23,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {771#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {772#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:23,150 INFO L290 TraceCheckUtils]: 21: Hoare triple {772#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {758#false} is VALID [2022-04-27 13:22:23,150 INFO L290 TraceCheckUtils]: 22: Hoare triple {758#false} assume !false; {758#false} is VALID [2022-04-27 13:22:23,150 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:22:23,151 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:23,151 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [249195524] [2022-04-27 13:22:23,151 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [249195524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:23,151 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:23,151 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:23,151 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [734585217] [2022-04-27 13:22:23,151 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:23,152 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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 23 [2022-04-27 13:22:23,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:23,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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:22:23,168 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:23,168 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:23,168 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:23,169 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:23,169 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:23,169 INFO L87 Difference]: Start difference. First operand 38 states and 47 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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:22:23,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,539 INFO L93 Difference]: Finished difference Result 52 states and 66 transitions. [2022-04-27 13:22:23,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:23,539 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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 23 [2022-04-27 13:22:23,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:23,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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:22:23,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:23,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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:22:23,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:22:23,542 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:22:23,604 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:23,605 INFO L225 Difference]: With dead ends: 52 [2022-04-27 13:22:23,605 INFO L226 Difference]: Without dead ends: 50 [2022-04-27 13:22:23,606 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:22:23,606 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 23 mSDsluCounter, 44 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 83 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:23,607 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 83 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:23,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-04-27 13:22:23,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 42. [2022-04-27 13:22:23,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:23,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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:22:23,615 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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:22:23,615 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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:22:23,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,618 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:23,618 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:23,618 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,618 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,619 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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 50 states. [2022-04-27 13:22:23,619 INFO L87 Difference]: Start difference. First operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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 50 states. [2022-04-27 13:22:23,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:23,621 INFO L93 Difference]: Finished difference Result 50 states and 64 transitions. [2022-04-27 13:22:23,621 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-27 13:22:23,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:23,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:23,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:23,622 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:23,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 26 states have (on average 1.2307692307692308) internal successors, (32), 27 states have internal predecessors, (32), 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:22:23,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 50 transitions. [2022-04-27 13:22:23,623 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 50 transitions. Word has length 23 [2022-04-27 13:22:23,623 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:23,624 INFO L495 AbstractCegarLoop]: Abstraction has 42 states and 50 transitions. [2022-04-27 13:22:23,624 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 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:22:23,624 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 50 transitions. [2022-04-27 13:22:23,624 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:23,624 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:23,624 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:23,625 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-04-27 13:22:23,625 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:23,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:23,625 INFO L85 PathProgramCache]: Analyzing trace with hash -1024624683, now seen corresponding path program 1 times [2022-04-27 13:22:23,625 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:23,625 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [486992847] [2022-04-27 13:22:23,625 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,625 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:23,636 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:23,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2096908570] [2022-04-27 13:22:23,636 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:23,636 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:23,637 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:23,638 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:22:23,639 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:22:23,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,678 INFO L263 TraceCheckSpWp]: Trace formula consists of 100 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:23,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:23,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:23,867 INFO L272 TraceCheckUtils]: 0: Hoare triple {1018#true} call ULTIMATE.init(); {1018#true} is VALID [2022-04-27 13:22:23,867 INFO L290 TraceCheckUtils]: 1: Hoare triple {1018#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1018#true} is VALID [2022-04-27 13:22:23,867 INFO L290 TraceCheckUtils]: 2: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,867 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1018#true} {1018#true} #96#return; {1018#true} is VALID [2022-04-27 13:22:23,868 INFO L272 TraceCheckUtils]: 4: Hoare triple {1018#true} call #t~ret8 := main(); {1018#true} is VALID [2022-04-27 13:22:23,868 INFO L290 TraceCheckUtils]: 5: Hoare triple {1018#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1018#true} is VALID [2022-04-27 13:22:23,868 INFO L272 TraceCheckUtils]: 6: Hoare triple {1018#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:23,869 INFO L290 TraceCheckUtils]: 7: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,869 INFO L290 TraceCheckUtils]: 8: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,869 INFO L290 TraceCheckUtils]: 9: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1018#true} {1018#true} #80#return; {1018#true} is VALID [2022-04-27 13:22:23,871 INFO L290 TraceCheckUtils]: 11: Hoare triple {1018#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,881 INFO L290 TraceCheckUtils]: 12: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,882 INFO L272 TraceCheckUtils]: 14: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:23,882 INFO L290 TraceCheckUtils]: 15: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,882 INFO L290 TraceCheckUtils]: 16: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,882 INFO L290 TraceCheckUtils]: 17: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,882 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,883 INFO L272 TraceCheckUtils]: 19: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1018#true} is VALID [2022-04-27 13:22:23,883 INFO L290 TraceCheckUtils]: 20: Hoare triple {1018#true} ~cond := #in~cond; {1018#true} is VALID [2022-04-27 13:22:23,883 INFO L290 TraceCheckUtils]: 21: Hoare triple {1018#true} assume !(0 == ~cond); {1018#true} is VALID [2022-04-27 13:22:23,883 INFO L290 TraceCheckUtils]: 22: Hoare triple {1018#true} assume true; {1018#true} is VALID [2022-04-27 13:22:23,883 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1018#true} {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:23,884 INFO L272 TraceCheckUtils]: 24: Hoare triple {1056#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:23,884 INFO L290 TraceCheckUtils]: 25: Hoare triple {1096#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1100#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:23,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {1100#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1019#false} is VALID [2022-04-27 13:22:23,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {1019#false} assume !false; {1019#false} is VALID [2022-04-27 13:22:23,885 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:22:23,885 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:23,885 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:23,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [486992847] [2022-04-27 13:22:23,885 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:23,886 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2096908570] [2022-04-27 13:22:23,886 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2096908570] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:23,886 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:23,886 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:23,886 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [69390194] [2022-04-27 13:22:23,886 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:23,886 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, (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 28 [2022-04-27 13:22:23,887 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:23,887 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, (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:22:23,904 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:23,904 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:23,904 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:23,904 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:23,905 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:23,905 INFO L87 Difference]: Start difference. First operand 42 states and 50 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, (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:22:24,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,119 INFO L93 Difference]: Finished difference Result 71 states and 93 transitions. [2022-04-27 13:22:24,119 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:24,119 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, (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 28 [2022-04-27 13:22:24,120 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:24,120 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, (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:22:24,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:24,121 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, (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:22:24,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 87 transitions. [2022-04-27 13:22:24,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 87 transitions. [2022-04-27 13:22:24,200 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:24,205 INFO L225 Difference]: With dead ends: 71 [2022-04-27 13:22:24,205 INFO L226 Difference]: Without dead ends: 56 [2022-04-27 13:22:24,205 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:24,208 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 10 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 143 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:24,209 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 143 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:24,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-27 13:22:24,236 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 56. [2022-04-27 13:22:24,236 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:24,236 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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:22:24,236 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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:22:24,237 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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:22:24,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,239 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:24,239 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:24,239 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,239 INFO L74 IsIncluded]: Start isIncluded. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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 56 states. [2022-04-27 13:22:24,240 INFO L87 Difference]: Start difference. First operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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 56 states. [2022-04-27 13:22:24,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,241 INFO L93 Difference]: Finished difference Result 56 states and 70 transitions. [2022-04-27 13:22:24,241 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:24,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,242 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:24,242 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:24,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 56 states, 33 states have (on average 1.2424242424242424) internal successors, (41), 35 states have internal predecessors, (41), 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:22:24,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 56 states and 70 transitions. [2022-04-27 13:22:24,244 INFO L78 Accepts]: Start accepts. Automaton has 56 states and 70 transitions. Word has length 28 [2022-04-27 13:22:24,244 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:24,244 INFO L495 AbstractCegarLoop]: Abstraction has 56 states and 70 transitions. [2022-04-27 13:22:24,244 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, (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:22:24,244 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 70 transitions. [2022-04-27 13:22:24,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:24,245 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:24,245 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, 1, 1] [2022-04-27 13:22:24,272 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:22:24,461 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:22:24,462 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:24,462 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:24,462 INFO L85 PathProgramCache]: Analyzing trace with hash 1301357193, now seen corresponding path program 1 times [2022-04-27 13:22:24,462 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:24,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [43793095] [2022-04-27 13:22:24,463 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:24,463 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:24,472 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:24,473 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [903851747] [2022-04-27 13:22:24,473 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:24,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:24,473 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:24,474 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:22:24,479 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:22:24,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:24,511 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:24,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:24,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:24,690 INFO L272 TraceCheckUtils]: 0: Hoare triple {1403#true} call ULTIMATE.init(); {1403#true} is VALID [2022-04-27 13:22:24,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {1403#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1411#(<= ~counter~0 0)} {1403#true} #96#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,692 INFO L272 TraceCheckUtils]: 4: Hoare triple {1411#(<= ~counter~0 0)} call #t~ret8 := main(); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,692 INFO L290 TraceCheckUtils]: 5: Hoare triple {1411#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,693 INFO L272 TraceCheckUtils]: 6: Hoare triple {1411#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,693 INFO L290 TraceCheckUtils]: 7: Hoare triple {1411#(<= ~counter~0 0)} ~cond := #in~cond; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,694 INFO L290 TraceCheckUtils]: 8: Hoare triple {1411#(<= ~counter~0 0)} assume !(0 == ~cond); {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,694 INFO L290 TraceCheckUtils]: 9: Hoare triple {1411#(<= ~counter~0 0)} assume true; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,694 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1411#(<= ~counter~0 0)} {1411#(<= ~counter~0 0)} #80#return; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,695 INFO L290 TraceCheckUtils]: 11: Hoare triple {1411#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1411#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:24,695 INFO L290 TraceCheckUtils]: 12: Hoare triple {1411#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,695 INFO L290 TraceCheckUtils]: 13: Hoare triple {1445#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,696 INFO L272 TraceCheckUtils]: 14: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,696 INFO L290 TraceCheckUtils]: 15: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,696 INFO L290 TraceCheckUtils]: 16: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,697 INFO L290 TraceCheckUtils]: 17: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,697 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #82#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,698 INFO L272 TraceCheckUtils]: 19: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,698 INFO L290 TraceCheckUtils]: 20: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,698 INFO L290 TraceCheckUtils]: 21: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,699 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #84#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,700 INFO L272 TraceCheckUtils]: 24: Hoare triple {1445#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {1445#(<= ~counter~0 1)} ~cond := #in~cond; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,700 INFO L290 TraceCheckUtils]: 26: Hoare triple {1445#(<= ~counter~0 1)} assume !(0 == ~cond); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {1445#(<= ~counter~0 1)} assume true; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,701 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1445#(<= ~counter~0 1)} {1445#(<= ~counter~0 1)} #86#return; {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,701 INFO L290 TraceCheckUtils]: 29: Hoare triple {1445#(<= ~counter~0 1)} assume !(~r~0 >= ~d~0); {1445#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:24,702 INFO L290 TraceCheckUtils]: 30: Hoare triple {1445#(<= ~counter~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1500#(<= |main_#t~post7| 1)} is VALID [2022-04-27 13:22:24,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {1500#(<= |main_#t~post7| 1)} assume !(#t~post7 < 20);havoc #t~post7; {1404#false} is VALID [2022-04-27 13:22:24,702 INFO L272 TraceCheckUtils]: 32: Hoare triple {1404#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {1404#false} is VALID [2022-04-27 13:22:24,702 INFO L290 TraceCheckUtils]: 33: Hoare triple {1404#false} ~cond := #in~cond; {1404#false} is VALID [2022-04-27 13:22:24,702 INFO L290 TraceCheckUtils]: 34: Hoare triple {1404#false} assume 0 == ~cond; {1404#false} is VALID [2022-04-27 13:22:24,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {1404#false} assume !false; {1404#false} is VALID [2022-04-27 13:22:24,703 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:22:24,703 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:24,703 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:24,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [43793095] [2022-04-27 13:22:24,703 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:24,705 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [903851747] [2022-04-27 13:22:24,707 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [903851747] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:24,707 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:24,707 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:24,707 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1325262684] [2022-04-27 13:22:24,707 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:24,708 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:24,708 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:24,708 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:24,728 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:24,728 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:24,728 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:24,728 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:24,729 INFO L87 Difference]: Start difference. First operand 56 states and 70 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,834 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2022-04-27 13:22:24,834 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:24,835 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) Word has length 36 [2022-04-27 13:22:24,843 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:24,844 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,847 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:24,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-27 13:22:24,850 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-27 13:22:24,892 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:24,897 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:22:24,897 INFO L226 Difference]: Without dead ends: 69 [2022-04-27 13:22:24,898 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 32 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:24,899 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 7 mSDsluCounter, 94 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 7 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:24,900 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [7 Valid, 136 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:24,901 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-27 13:22:24,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 68. [2022-04-27 13:22:24,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:24,924 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,925 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,925 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,931 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:24,931 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:24,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,931 INFO L74 IsIncluded]: Start isIncluded. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:24,932 INFO L87 Difference]: Start difference. First operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 69 states. [2022-04-27 13:22:24,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:24,938 INFO L93 Difference]: Finished difference Result 69 states and 79 transitions. [2022-04-27 13:22:24,938 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 79 transitions. [2022-04-27 13:22:24,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:24,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:24,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:24,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:24,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 68 states, 42 states have (on average 1.1666666666666667) internal successors, (49), 44 states have internal predecessors, (49), 16 states have call successors, (16), 10 states have call predecessors, (16), 9 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-27 13:22:24,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 78 transitions. [2022-04-27 13:22:24,945 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 78 transitions. Word has length 36 [2022-04-27 13:22:24,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:24,945 INFO L495 AbstractCegarLoop]: Abstraction has 68 states and 78 transitions. [2022-04-27 13:22:24,947 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 4 states have call successors, (7), 4 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-27 13:22:24,947 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 78 transitions. [2022-04-27 13:22:24,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 13:22:24,948 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:24,948 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, 1, 1] [2022-04-27 13:22:24,983 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:22:25,167 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:22:25,168 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:25,168 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:25,168 INFO L85 PathProgramCache]: Analyzing trace with hash 1303085071, now seen corresponding path program 1 times [2022-04-27 13:22:25,168 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:25,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1634156466] [2022-04-27 13:22:25,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:25,168 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:25,189 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:25,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1186863245] [2022-04-27 13:22:25,189 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:25,190 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:25,190 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:25,190 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:22:25,192 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:22:25,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:25,223 INFO L263 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:25,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:25,235 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:25,711 INFO L272 TraceCheckUtils]: 0: Hoare triple {1856#true} call ULTIMATE.init(); {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {1856#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1856#true} {1856#true} #96#return; {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {1856#true} call #t~ret8 := main(); {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L290 TraceCheckUtils]: 5: Hoare triple {1856#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L272 TraceCheckUtils]: 6: Hoare triple {1856#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1856#true} {1856#true} #80#return; {1856#true} is VALID [2022-04-27 13:22:25,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {1856#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,714 INFO L290 TraceCheckUtils]: 13: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,714 INFO L272 TraceCheckUtils]: 14: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,714 INFO L290 TraceCheckUtils]: 15: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,714 INFO L290 TraceCheckUtils]: 16: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,714 INFO L290 TraceCheckUtils]: 17: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,716 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,717 INFO L272 TraceCheckUtils]: 19: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,717 INFO L290 TraceCheckUtils]: 21: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,717 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,717 INFO L272 TraceCheckUtils]: 24: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1856#true} is VALID [2022-04-27 13:22:25,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {1856#true} ~cond := #in~cond; {1856#true} is VALID [2022-04-27 13:22:25,718 INFO L290 TraceCheckUtils]: 26: Hoare triple {1856#true} assume !(0 == ~cond); {1856#true} is VALID [2022-04-27 13:22:25,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {1856#true} assume true; {1856#true} is VALID [2022-04-27 13:22:25,718 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1856#true} {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,719 INFO L290 TraceCheckUtils]: 29: Hoare triple {1894#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:25,723 INFO L272 TraceCheckUtils]: 32: Hoare triple {1949#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:25,724 INFO L290 TraceCheckUtils]: 33: Hoare triple {1959#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1963#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:25,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {1963#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1857#false} is VALID [2022-04-27 13:22:25,724 INFO L290 TraceCheckUtils]: 35: Hoare triple {1857#false} assume !false; {1857#false} is VALID [2022-04-27 13:22:25,725 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:22:25,725 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:25,725 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:25,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1634156466] [2022-04-27 13:22:25,725 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:25,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1186863245] [2022-04-27 13:22:25,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1186863245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:25,725 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:25,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:25,725 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [704365273] [2022-04-27 13:22:25,725 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:25,726 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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 36 [2022-04-27 13:22:25,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:25,726 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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:22:25,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:25,749 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:25,749 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:25,749 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:25,749 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:25,749 INFO L87 Difference]: Start difference. First operand 68 states and 78 transitions. Second operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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:22:26,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,039 INFO L93 Difference]: Finished difference Result 74 states and 83 transitions. [2022-04-27 13:22:26,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 13:22:26,040 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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 36 [2022-04-27 13:22:26,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:26,040 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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:22:26,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:26,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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:22:26,042 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 13:22:26,042 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-04-27 13:22:26,099 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:26,101 INFO L225 Difference]: With dead ends: 74 [2022-04-27 13:22:26,101 INFO L226 Difference]: Without dead ends: 58 [2022-04-27 13:22:26,101 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:26,101 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 71 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 160 SdHoareTripleChecker+Invalid, 78 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 71 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:26,102 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 160 Invalid, 78 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 71 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:26,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-04-27 13:22:26,126 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 58. [2022-04-27 13:22:26,126 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:26,126 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:26,127 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:26,127 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:26,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,128 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:26,128 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:26,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:26,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:26,129 INFO L74 IsIncluded]: Start isIncluded. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:26,129 INFO L87 Difference]: Start difference. First operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand 58 states. [2022-04-27 13:22:26,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:26,130 INFO L93 Difference]: Finished difference Result 58 states and 66 transitions. [2022-04-27 13:22:26,130 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:26,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:26,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:26,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:26,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:26,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 58 states, 36 states have (on average 1.1666666666666667) internal successors, (42), 37 states have internal predecessors, (42), 13 states have call successors, (13), 9 states have call predecessors, (13), 8 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-27 13:22:26,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 66 transitions. [2022-04-27 13:22:26,132 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 66 transitions. Word has length 36 [2022-04-27 13:22:26,132 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:26,132 INFO L495 AbstractCegarLoop]: Abstraction has 58 states and 66 transitions. [2022-04-27 13:22:26,133 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.0) internal successors, (18), 5 states have internal predecessors, (18), 3 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:22:26,133 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 66 transitions. [2022-04-27 13:22:26,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:22:26,133 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:26,133 INFO L195 NwaCegarLoop]: trace histogram [4, 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, 1, 1] [2022-04-27 13:22:26,151 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:22:26,339 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:22:26,339 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:26,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:26,340 INFO L85 PathProgramCache]: Analyzing trace with hash -1189074514, now seen corresponding path program 1 times [2022-04-27 13:22:26,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:26,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2128928685] [2022-04-27 13:22:26,340 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:26,340 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:26,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:26,350 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [675115004] [2022-04-27 13:22:26,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:26,350 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:26,350 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:26,351 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:22:26,352 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:22:26,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:26,387 INFO L263 TraceCheckSpWp]: Trace formula consists of 124 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:26,396 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:26,397 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:26,570 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:26,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,571 INFO L290 TraceCheckUtils]: 2: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2282#(<= ~counter~0 0)} {2274#true} #96#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {2282#(<= ~counter~0 0)} call #t~ret8 := main(); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {2282#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,573 INFO L272 TraceCheckUtils]: 6: Hoare triple {2282#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {2282#(<= ~counter~0 0)} ~cond := #in~cond; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {2282#(<= ~counter~0 0)} assume !(0 == ~cond); {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {2282#(<= ~counter~0 0)} assume true; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2282#(<= ~counter~0 0)} {2282#(<= ~counter~0 0)} #80#return; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,574 INFO L290 TraceCheckUtils]: 11: Hoare triple {2282#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2282#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:26,576 INFO L290 TraceCheckUtils]: 12: Hoare triple {2282#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,576 INFO L290 TraceCheckUtils]: 13: Hoare triple {2316#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,576 INFO L272 TraceCheckUtils]: 14: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,577 INFO L290 TraceCheckUtils]: 15: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,577 INFO L290 TraceCheckUtils]: 16: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,577 INFO L290 TraceCheckUtils]: 17: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,577 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #82#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,578 INFO L272 TraceCheckUtils]: 19: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,578 INFO L290 TraceCheckUtils]: 20: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,578 INFO L290 TraceCheckUtils]: 21: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,579 INFO L290 TraceCheckUtils]: 22: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,579 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #84#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,580 INFO L272 TraceCheckUtils]: 24: Hoare triple {2316#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {2316#(<= ~counter~0 1)} ~cond := #in~cond; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {2316#(<= ~counter~0 1)} assume !(0 == ~cond); {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {2316#(<= ~counter~0 1)} assume true; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,581 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2316#(<= ~counter~0 1)} {2316#(<= ~counter~0 1)} #86#return; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,582 INFO L290 TraceCheckUtils]: 29: Hoare triple {2316#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2316#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:26,582 INFO L290 TraceCheckUtils]: 30: Hoare triple {2316#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2371#(<= |main_#t~post6| 1)} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 31: Hoare triple {2371#(<= |main_#t~post6| 1)} assume !(#t~post6 < 20);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 20);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:26,583 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:26,583 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:26,778 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2022-04-27 13:22:26,778 INFO L290 TraceCheckUtils]: 36: Hoare triple {2275#false} assume 0 == ~cond; {2275#false} is VALID [2022-04-27 13:22:26,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2022-04-27 13:22:26,778 INFO L272 TraceCheckUtils]: 34: Hoare triple {2275#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2275#false} is VALID [2022-04-27 13:22:26,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {2275#false} assume !(#t~post7 < 20);havoc #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,778 INFO L290 TraceCheckUtils]: 32: Hoare triple {2275#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {2275#false} is VALID [2022-04-27 13:22:26,779 INFO L290 TraceCheckUtils]: 31: Hoare triple {2411#(< |main_#t~post6| 20)} assume !(#t~post6 < 20);havoc #t~post6; {2275#false} is VALID [2022-04-27 13:22:26,779 INFO L290 TraceCheckUtils]: 30: Hoare triple {2415#(< ~counter~0 20)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2411#(< |main_#t~post6| 20)} is VALID [2022-04-27 13:22:26,779 INFO L290 TraceCheckUtils]: 29: Hoare triple {2415#(< ~counter~0 20)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,780 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2274#true} {2415#(< ~counter~0 20)} #86#return; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,780 INFO L290 TraceCheckUtils]: 26: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,780 INFO L272 TraceCheckUtils]: 24: Hoare triple {2415#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,781 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2274#true} {2415#(< ~counter~0 20)} #84#return; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,781 INFO L290 TraceCheckUtils]: 22: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,781 INFO L290 TraceCheckUtils]: 21: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,781 INFO L272 TraceCheckUtils]: 19: Hoare triple {2415#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,782 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2274#true} {2415#(< ~counter~0 20)} #82#return; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,782 INFO L290 TraceCheckUtils]: 17: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,782 INFO L290 TraceCheckUtils]: 16: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,782 INFO L272 TraceCheckUtils]: 14: Hoare triple {2415#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,782 INFO L290 TraceCheckUtils]: 13: Hoare triple {2415#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {2470#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2415#(< ~counter~0 20)} is VALID [2022-04-27 13:22:26,783 INFO L290 TraceCheckUtils]: 11: Hoare triple {2470#(< ~counter~0 19)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,783 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2274#true} {2470#(< ~counter~0 19)} #80#return; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,783 INFO L290 TraceCheckUtils]: 9: Hoare triple {2274#true} assume true; {2274#true} is VALID [2022-04-27 13:22:26,784 INFO L290 TraceCheckUtils]: 8: Hoare triple {2274#true} assume !(0 == ~cond); {2274#true} is VALID [2022-04-27 13:22:26,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {2274#true} ~cond := #in~cond; {2274#true} is VALID [2022-04-27 13:22:26,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {2470#(< ~counter~0 19)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2274#true} is VALID [2022-04-27 13:22:26,784 INFO L290 TraceCheckUtils]: 5: Hoare triple {2470#(< ~counter~0 19)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,784 INFO L272 TraceCheckUtils]: 4: Hoare triple {2470#(< ~counter~0 19)} call #t~ret8 := main(); {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2470#(< ~counter~0 19)} {2274#true} #96#return; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {2470#(< ~counter~0 19)} assume true; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,785 INFO L290 TraceCheckUtils]: 1: Hoare triple {2274#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2470#(< ~counter~0 19)} is VALID [2022-04-27 13:22:26,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2022-04-27 13:22:26,786 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:26,786 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:26,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2128928685] [2022-04-27 13:22:26,786 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:26,786 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [675115004] [2022-04-27 13:22:26,786 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [675115004] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:26,786 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:26,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-27 13:22:26,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1638454611] [2022-04-27 13:22:26,786 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:26,787 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:26,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:26,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:26,843 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:22:26,843 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:22:26,844 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:26,844 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:22:26,844 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:26,844 INFO L87 Difference]: Start difference. First operand 58 states and 66 transitions. Second operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:27,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:27,146 INFO L93 Difference]: Finished difference Result 123 states and 147 transitions. [2022-04-27 13:22:27,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:27,147 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) Word has length 38 [2022-04-27 13:22:27,147 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:27,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:27,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:27,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:27,152 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 123 transitions. [2022-04-27 13:22:27,152 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 123 transitions. [2022-04-27 13:22:27,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:27,257 INFO L225 Difference]: With dead ends: 123 [2022-04-27 13:22:27,257 INFO L226 Difference]: Without dead ends: 109 [2022-04-27 13:22:27,257 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:27,258 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 48 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 57 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 48 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 57 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:27,258 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [48 Valid, 178 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 57 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:27,258 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2022-04-27 13:22:27,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 103. [2022-04-27 13:22:27,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:27,293 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:27,293 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:27,293 INFO L87 Difference]: Start difference. First operand 109 states. Second operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:27,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:27,296 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:27,296 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:27,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:27,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:27,297 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:27,297 INFO L87 Difference]: Start difference. First operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) Second operand 109 states. [2022-04-27 13:22:27,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:27,299 INFO L93 Difference]: Finished difference Result 109 states and 125 transitions. [2022-04-27 13:22:27,299 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 125 transitions. [2022-04-27 13:22:27,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:27,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:27,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:27,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:27,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 67 states have internal predecessors, (77), 23 states have call successors, (23), 15 states have call predecessors, (23), 14 states have return successors, (20), 20 states have call predecessors, (20), 20 states have call successors, (20) [2022-04-27 13:22:27,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 120 transitions. [2022-04-27 13:22:27,303 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 120 transitions. Word has length 38 [2022-04-27 13:22:27,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:27,303 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 120 transitions. [2022-04-27 13:22:27,303 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.375) internal successors, (35), 8 states have internal predecessors, (35), 6 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 4 states have call predecessors, (10), 5 states have call successors, (10) [2022-04-27 13:22:27,303 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 120 transitions. [2022-04-27 13:22:27,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-04-27 13:22:27,304 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:27,304 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:27,326 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:22:27,525 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:22:27,526 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:27,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:27,526 INFO L85 PathProgramCache]: Analyzing trace with hash 1861890039, now seen corresponding path program 1 times [2022-04-27 13:22:27,526 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:27,526 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [667371168] [2022-04-27 13:22:27,526 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:27,527 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:27,535 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:27,535 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [75215043] [2022-04-27 13:22:27,535 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:27,535 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:27,535 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:27,539 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:22:27,542 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:22:27,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:27,574 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:22:27,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:27,591 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:28,330 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:28,330 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:28,330 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,330 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:28,330 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:28,331 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:28,331 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,331 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:28,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {3076#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:28,332 INFO L290 TraceCheckUtils]: 9: Hoare triple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3080#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:28,332 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3080#(not (= |assume_abort_if_not_#in~cond| 0))} {3050#true} #80#return; {3087#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:22:28,333 INFO L290 TraceCheckUtils]: 11: Hoare triple {3087#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,333 INFO L272 TraceCheckUtils]: 14: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #82#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,334 INFO L272 TraceCheckUtils]: 19: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,334 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,335 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #84#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,335 INFO L272 TraceCheckUtils]: 24: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,335 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,335 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,336 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #86#return; {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:28,336 INFO L290 TraceCheckUtils]: 29: Hoare triple {3091#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,337 INFO L290 TraceCheckUtils]: 30: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,337 INFO L272 TraceCheckUtils]: 32: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,338 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #82#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,338 INFO L272 TraceCheckUtils]: 37: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,338 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,338 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,339 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #84#return; {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,339 INFO L272 TraceCheckUtils]: 42: Hoare triple {3146#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:28,340 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:28,340 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:28,340 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:28,340 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-27 13:22:28,340 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:28,655 INFO L290 TraceCheckUtils]: 45: Hoare triple {3051#false} assume !false; {3051#false} is VALID [2022-04-27 13:22:28,656 INFO L290 TraceCheckUtils]: 44: Hoare triple {3190#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3051#false} is VALID [2022-04-27 13:22:28,656 INFO L290 TraceCheckUtils]: 43: Hoare triple {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3190#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:28,657 INFO L272 TraceCheckUtils]: 42: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3186#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:28,657 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,657 INFO L290 TraceCheckUtils]: 40: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,657 INFO L290 TraceCheckUtils]: 39: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,657 INFO L290 TraceCheckUtils]: 38: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,658 INFO L272 TraceCheckUtils]: 37: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,658 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,658 INFO L290 TraceCheckUtils]: 35: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,658 INFO L290 TraceCheckUtils]: 34: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,658 INFO L290 TraceCheckUtils]: 33: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,658 INFO L272 TraceCheckUtils]: 32: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,664 INFO L290 TraceCheckUtils]: 29: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,665 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #86#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,665 INFO L290 TraceCheckUtils]: 27: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,665 INFO L290 TraceCheckUtils]: 26: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,665 INFO L290 TraceCheckUtils]: 25: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,665 INFO L272 TraceCheckUtils]: 24: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,665 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #84#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,665 INFO L290 TraceCheckUtils]: 22: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L290 TraceCheckUtils]: 21: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L272 TraceCheckUtils]: 19: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3050#true} {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #82#return; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,666 INFO L290 TraceCheckUtils]: 17: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L290 TraceCheckUtils]: 16: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L290 TraceCheckUtils]: 15: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,666 INFO L272 TraceCheckUtils]: 14: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,667 INFO L290 TraceCheckUtils]: 13: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(#t~post6 < 20);havoc #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,667 INFO L290 TraceCheckUtils]: 12: Hoare triple {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {3050#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3206#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:28,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3050#true} {3050#true} #80#return; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {3050#true} assume !(0 == ~cond); {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {3050#true} ~cond := #in~cond; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {3050#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {3050#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {3050#true} call #t~ret8 := main(); {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3050#true} {3050#true} #96#return; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {3050#true} assume true; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {3050#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3050#true} is VALID [2022-04-27 13:22:28,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {3050#true} call ULTIMATE.init(); {3050#true} is VALID [2022-04-27 13:22:28,669 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-27 13:22:28,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:28,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [667371168] [2022-04-27 13:22:28,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:28,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [75215043] [2022-04-27 13:22:28,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [75215043] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:28,669 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:28,669 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:22:28,669 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1241775993] [2022-04-27 13:22:28,669 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:28,670 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 46 [2022-04-27 13:22:28,670 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:28,670 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:22:28,693 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:22:28,693 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:28,694 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:28,694 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:28,694 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:28,694 INFO L87 Difference]: Start difference. First operand 103 states and 120 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:22:28,902 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:28,902 INFO L93 Difference]: Finished difference Result 120 states and 141 transitions. [2022-04-27 13:22:28,903 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:28,903 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 46 [2022-04-27 13:22:28,903 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:28,903 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:22:28,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:28,904 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:22:28,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-04-27 13:22:28,910 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-04-27 13:22:28,981 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:28,983 INFO L225 Difference]: With dead ends: 120 [2022-04-27 13:22:28,983 INFO L226 Difference]: Without dead ends: 118 [2022-04-27 13:22:28,984 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 81 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:28,984 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 11 mSDsluCounter, 85 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 125 SdHoareTripleChecker+Invalid, 49 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:28,984 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 125 Invalid, 49 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:28,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2022-04-27 13:22:29,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 115. [2022-04-27 13:22:29,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:29,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:29,016 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:29,016 INFO L87 Difference]: Start difference. First operand 118 states. Second operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:29,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,020 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:29,020 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:29,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,020 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:29,020 INFO L87 Difference]: Start difference. First operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 118 states. [2022-04-27 13:22:29,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:29,023 INFO L93 Difference]: Finished difference Result 118 states and 137 transitions. [2022-04-27 13:22:29,023 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 137 transitions. [2022-04-27 13:22:29,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:29,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:29,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:29,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:29,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 73 states have (on average 1.1643835616438356) internal successors, (85), 76 states have internal predecessors, (85), 25 states have call successors, (25), 17 states have call predecessors, (25), 16 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:22:29,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 132 transitions. [2022-04-27 13:22:29,026 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 132 transitions. Word has length 46 [2022-04-27 13:22:29,026 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:29,026 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 132 transitions. [2022-04-27 13:22:29,027 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:22:29,027 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 132 transitions. [2022-04-27 13:22:29,027 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:29,027 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:29,027 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 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] [2022-04-27 13:22:29,046 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 13:22:29,243 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:22:29,244 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:29,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:29,244 INFO L85 PathProgramCache]: Analyzing trace with hash 243046571, now seen corresponding path program 1 times [2022-04-27 13:22:29,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:29,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [273221078] [2022-04-27 13:22:29,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:29,252 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:29,252 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2076911619] [2022-04-27 13:22:29,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:29,253 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:29,253 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:29,265 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:22:29,266 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:22:29,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,299 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-27 13:22:29,308 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:29,311 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:29,530 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:29,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,532 INFO L290 TraceCheckUtils]: 2: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,532 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3912#(<= ~counter~0 0)} {3904#true} #96#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,534 INFO L272 TraceCheckUtils]: 4: Hoare triple {3912#(<= ~counter~0 0)} call #t~ret8 := main(); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {3912#(<= ~counter~0 0)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {3912#(<= ~counter~0 0)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,536 INFO L290 TraceCheckUtils]: 7: Hoare triple {3912#(<= ~counter~0 0)} ~cond := #in~cond; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,536 INFO L290 TraceCheckUtils]: 8: Hoare triple {3912#(<= ~counter~0 0)} assume !(0 == ~cond); {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,537 INFO L290 TraceCheckUtils]: 9: Hoare triple {3912#(<= ~counter~0 0)} assume true; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,537 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3912#(<= ~counter~0 0)} {3912#(<= ~counter~0 0)} #80#return; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,537 INFO L290 TraceCheckUtils]: 11: Hoare triple {3912#(<= ~counter~0 0)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3912#(<= ~counter~0 0)} is VALID [2022-04-27 13:22:29,539 INFO L290 TraceCheckUtils]: 12: Hoare triple {3912#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,539 INFO L290 TraceCheckUtils]: 13: Hoare triple {3946#(<= ~counter~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,539 INFO L272 TraceCheckUtils]: 14: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,540 INFO L290 TraceCheckUtils]: 15: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,540 INFO L290 TraceCheckUtils]: 16: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,540 INFO L290 TraceCheckUtils]: 17: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,540 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #82#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,541 INFO L272 TraceCheckUtils]: 19: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,542 INFO L290 TraceCheckUtils]: 22: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,542 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #84#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,543 INFO L272 TraceCheckUtils]: 24: Hoare triple {3946#(<= ~counter~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {3946#(<= ~counter~0 1)} ~cond := #in~cond; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,543 INFO L290 TraceCheckUtils]: 26: Hoare triple {3946#(<= ~counter~0 1)} assume !(0 == ~cond); {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {3946#(<= ~counter~0 1)} assume true; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,544 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3946#(<= ~counter~0 1)} {3946#(<= ~counter~0 1)} #86#return; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,544 INFO L290 TraceCheckUtils]: 29: Hoare triple {3946#(<= ~counter~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3946#(<= ~counter~0 1)} is VALID [2022-04-27 13:22:29,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {3946#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,545 INFO L290 TraceCheckUtils]: 31: Hoare triple {4001#(<= ~counter~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,545 INFO L272 TraceCheckUtils]: 32: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,545 INFO L290 TraceCheckUtils]: 33: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,546 INFO L290 TraceCheckUtils]: 34: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,546 INFO L290 TraceCheckUtils]: 35: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,546 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #82#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,547 INFO L272 TraceCheckUtils]: 37: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,547 INFO L290 TraceCheckUtils]: 38: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,547 INFO L290 TraceCheckUtils]: 39: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,547 INFO L290 TraceCheckUtils]: 40: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,548 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #84#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,548 INFO L272 TraceCheckUtils]: 42: Hoare triple {4001#(<= ~counter~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,549 INFO L290 TraceCheckUtils]: 43: Hoare triple {4001#(<= ~counter~0 2)} ~cond := #in~cond; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,549 INFO L290 TraceCheckUtils]: 44: Hoare triple {4001#(<= ~counter~0 2)} assume !(0 == ~cond); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,549 INFO L290 TraceCheckUtils]: 45: Hoare triple {4001#(<= ~counter~0 2)} assume true; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,550 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {4001#(<= ~counter~0 2)} {4001#(<= ~counter~0 2)} #86#return; {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,550 INFO L290 TraceCheckUtils]: 47: Hoare triple {4001#(<= ~counter~0 2)} assume !(~r~0 >= ~d~0); {4001#(<= ~counter~0 2)} is VALID [2022-04-27 13:22:29,550 INFO L290 TraceCheckUtils]: 48: Hoare triple {4001#(<= ~counter~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4056#(<= |main_#t~post7| 2)} is VALID [2022-04-27 13:22:29,551 INFO L290 TraceCheckUtils]: 49: Hoare triple {4056#(<= |main_#t~post7| 2)} assume !(#t~post7 < 20);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:29,551 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:29,551 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:29,551 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:29,551 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:29,551 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 42 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:22:29,551 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:29,821 INFO L290 TraceCheckUtils]: 53: Hoare triple {3905#false} assume !false; {3905#false} is VALID [2022-04-27 13:22:29,821 INFO L290 TraceCheckUtils]: 52: Hoare triple {3905#false} assume 0 == ~cond; {3905#false} is VALID [2022-04-27 13:22:29,821 INFO L290 TraceCheckUtils]: 51: Hoare triple {3905#false} ~cond := #in~cond; {3905#false} is VALID [2022-04-27 13:22:29,821 INFO L272 TraceCheckUtils]: 50: Hoare triple {3905#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {3905#false} is VALID [2022-04-27 13:22:29,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {4084#(< |main_#t~post7| 20)} assume !(#t~post7 < 20);havoc #t~post7; {3905#false} is VALID [2022-04-27 13:22:29,822 INFO L290 TraceCheckUtils]: 48: Hoare triple {4088#(< ~counter~0 20)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {4084#(< |main_#t~post7| 20)} is VALID [2022-04-27 13:22:29,822 INFO L290 TraceCheckUtils]: 47: Hoare triple {4088#(< ~counter~0 20)} assume !(~r~0 >= ~d~0); {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,823 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {3904#true} {4088#(< ~counter~0 20)} #86#return; {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,823 INFO L290 TraceCheckUtils]: 45: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,823 INFO L290 TraceCheckUtils]: 44: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,823 INFO L290 TraceCheckUtils]: 43: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,823 INFO L272 TraceCheckUtils]: 42: Hoare triple {4088#(< ~counter~0 20)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,824 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {3904#true} {4088#(< ~counter~0 20)} #84#return; {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,824 INFO L290 TraceCheckUtils]: 40: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L290 TraceCheckUtils]: 39: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L290 TraceCheckUtils]: 38: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L272 TraceCheckUtils]: 37: Hoare triple {4088#(< ~counter~0 20)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3904#true} {4088#(< ~counter~0 20)} #82#return; {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,825 INFO L290 TraceCheckUtils]: 35: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L290 TraceCheckUtils]: 34: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L290 TraceCheckUtils]: 33: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,825 INFO L272 TraceCheckUtils]: 32: Hoare triple {4088#(< ~counter~0 20)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,826 INFO L290 TraceCheckUtils]: 31: Hoare triple {4088#(< ~counter~0 20)} assume !!(#t~post6 < 20);havoc #t~post6; {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,826 INFO L290 TraceCheckUtils]: 30: Hoare triple {4143#(< ~counter~0 19)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4088#(< ~counter~0 20)} is VALID [2022-04-27 13:22:29,826 INFO L290 TraceCheckUtils]: 29: Hoare triple {4143#(< ~counter~0 19)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,827 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3904#true} {4143#(< ~counter~0 19)} #86#return; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,827 INFO L290 TraceCheckUtils]: 27: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,827 INFO L290 TraceCheckUtils]: 26: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,827 INFO L272 TraceCheckUtils]: 24: Hoare triple {4143#(< ~counter~0 19)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3904#true} {4143#(< ~counter~0 19)} #84#return; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 22: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 21: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 20: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L272 TraceCheckUtils]: 19: Hoare triple {4143#(< ~counter~0 19)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3904#true} {4143#(< ~counter~0 19)} #82#return; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 17: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 16: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,828 INFO L290 TraceCheckUtils]: 15: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,829 INFO L272 TraceCheckUtils]: 14: Hoare triple {4143#(< ~counter~0 19)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,829 INFO L290 TraceCheckUtils]: 13: Hoare triple {4143#(< ~counter~0 19)} assume !!(#t~post6 < 20);havoc #t~post6; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,829 INFO L290 TraceCheckUtils]: 12: Hoare triple {4198#(< ~counter~0 18)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4143#(< ~counter~0 19)} is VALID [2022-04-27 13:22:29,829 INFO L290 TraceCheckUtils]: 11: Hoare triple {4198#(< ~counter~0 18)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,830 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3904#true} {4198#(< ~counter~0 18)} #80#return; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,830 INFO L290 TraceCheckUtils]: 9: Hoare triple {3904#true} assume true; {3904#true} is VALID [2022-04-27 13:22:29,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {3904#true} assume !(0 == ~cond); {3904#true} is VALID [2022-04-27 13:22:29,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {3904#true} ~cond := #in~cond; {3904#true} is VALID [2022-04-27 13:22:29,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {4198#(< ~counter~0 18)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3904#true} is VALID [2022-04-27 13:22:29,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {4198#(< ~counter~0 18)} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,831 INFO L272 TraceCheckUtils]: 4: Hoare triple {4198#(< ~counter~0 18)} call #t~ret8 := main(); {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,831 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4198#(< ~counter~0 18)} {3904#true} #96#return; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,831 INFO L290 TraceCheckUtils]: 2: Hoare triple {4198#(< ~counter~0 18)} assume true; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,832 INFO L290 TraceCheckUtils]: 1: Hoare triple {3904#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4198#(< ~counter~0 18)} is VALID [2022-04-27 13:22:29,832 INFO L272 TraceCheckUtils]: 0: Hoare triple {3904#true} call ULTIMATE.init(); {3904#true} is VALID [2022-04-27 13:22:29,832 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:29,832 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:29,832 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [273221078] [2022-04-27 13:22:29,832 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:29,833 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2076911619] [2022-04-27 13:22:29,833 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2076911619] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:29,833 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:29,833 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-27 13:22:29,833 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1772637733] [2022-04-27 13:22:29,833 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:29,833 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) Word has length 54 [2022-04-27 13:22:29,834 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:29,834 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:29,894 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:29,894 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:22:29,894 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:29,894 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:22:29,894 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:29,895 INFO L87 Difference]: Start difference. First operand 115 states and 132 transitions. Second operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:30,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:30,518 INFO L93 Difference]: Finished difference Result 207 states and 246 transitions. [2022-04-27 13:22:30,518 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-27 13:22:30,519 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) Word has length 54 [2022-04-27 13:22:30,519 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:30,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:30,521 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 167 transitions. [2022-04-27 13:22:30,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:30,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 167 transitions. [2022-04-27 13:22:30,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 167 transitions. [2022-04-27 13:22:30,634 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 167 edges. 167 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:30,637 INFO L225 Difference]: With dead ends: 207 [2022-04-27 13:22:30,637 INFO L226 Difference]: Without dead ends: 193 [2022-04-27 13:22:30,638 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=52, Invalid=104, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:22:30,638 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 91 mSDsluCounter, 228 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 91 SdHoareTripleChecker+Valid, 291 SdHoareTripleChecker+Invalid, 144 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:30,638 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [91 Valid, 291 Invalid, 144 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:22:30,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 193 states. [2022-04-27 13:22:30,700 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 193 to 186. [2022-04-27 13:22:30,700 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:30,701 INFO L82 GeneralOperation]: Start isEquivalent. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:30,701 INFO L74 IsIncluded]: Start isIncluded. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:30,701 INFO L87 Difference]: Start difference. First operand 193 states. Second operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:30,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:30,705 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-27 13:22:30,705 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 224 transitions. [2022-04-27 13:22:30,705 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:30,705 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:30,706 INFO L74 IsIncluded]: Start isIncluded. First operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 193 states. [2022-04-27 13:22:30,706 INFO L87 Difference]: Start difference. First operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) Second operand 193 states. [2022-04-27 13:22:30,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:30,709 INFO L93 Difference]: Finished difference Result 193 states and 224 transitions. [2022-04-27 13:22:30,709 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 224 transitions. [2022-04-27 13:22:30,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:30,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:30,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:30,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:30,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 186 states, 118 states have (on average 1.1779661016949152) internal successors, (139), 125 states have internal predecessors, (139), 43 states have call successors, (43), 25 states have call predecessors, (43), 24 states have return successors, (38), 35 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-27 13:22:30,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 186 states to 186 states and 220 transitions. [2022-04-27 13:22:30,723 INFO L78 Accepts]: Start accepts. Automaton has 186 states and 220 transitions. Word has length 54 [2022-04-27 13:22:30,723 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:30,723 INFO L495 AbstractCegarLoop]: Abstraction has 186 states and 220 transitions. [2022-04-27 13:22:30,723 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 4.2) internal successors, (42), 10 states have internal predecessors, (42), 8 states have call successors, (18), 6 states have call predecessors, (18), 5 states have return successors, (16), 6 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-27 13:22:30,723 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 220 transitions. [2022-04-27 13:22:30,724 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-04-27 13:22:30,724 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:30,724 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 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] [2022-04-27 13:22:30,746 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:22:30,943 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:22:30,943 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:30,944 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:30,944 INFO L85 PathProgramCache]: Analyzing trace with hash 244774449, now seen corresponding path program 1 times [2022-04-27 13:22:30,944 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:30,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [624016552] [2022-04-27 13:22:30,944 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:30,944 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:30,952 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:30,952 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1909234758] [2022-04-27 13:22:30,952 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:30,952 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:30,952 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:30,953 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:30,954 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 13:22:30,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:30,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:22:30,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:30,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:35,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {5177#true} call ULTIMATE.init(); {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {5177#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5177#true} {5177#true} #96#return; {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L272 TraceCheckUtils]: 4: Hoare triple {5177#true} call #t~ret8 := main(); {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {5177#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L272 TraceCheckUtils]: 6: Hoare triple {5177#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,594 INFO L290 TraceCheckUtils]: 7: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5177#true} {5177#true} #80#return; {5177#true} is VALID [2022-04-27 13:22:35,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {5177#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,596 INFO L290 TraceCheckUtils]: 12: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,596 INFO L272 TraceCheckUtils]: 14: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,596 INFO L290 TraceCheckUtils]: 16: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,597 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,598 INFO L272 TraceCheckUtils]: 19: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,599 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,599 INFO L272 TraceCheckUtils]: 24: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,599 INFO L290 TraceCheckUtils]: 25: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,599 INFO L290 TraceCheckUtils]: 26: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,599 INFO L290 TraceCheckUtils]: 27: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,600 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5177#true} {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,601 INFO L290 TraceCheckUtils]: 29: Hoare triple {5215#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,602 INFO L290 TraceCheckUtils]: 31: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,602 INFO L272 TraceCheckUtils]: 32: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,602 INFO L290 TraceCheckUtils]: 33: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,602 INFO L290 TraceCheckUtils]: 34: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,602 INFO L290 TraceCheckUtils]: 35: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #82#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,603 INFO L272 TraceCheckUtils]: 37: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L290 TraceCheckUtils]: 38: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L290 TraceCheckUtils]: 39: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L290 TraceCheckUtils]: 40: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #84#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,603 INFO L272 TraceCheckUtils]: 42: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:35,603 INFO L290 TraceCheckUtils]: 43: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:35,604 INFO L290 TraceCheckUtils]: 44: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:35,604 INFO L290 TraceCheckUtils]: 45: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:35,604 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5177#true} {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} #86#return; {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:35,605 INFO L290 TraceCheckUtils]: 47: Hoare triple {5270#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (div (- main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= main_~q~0 0) (<= (div (- main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,606 INFO L290 TraceCheckUtils]: 48: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,606 INFO L290 TraceCheckUtils]: 49: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} assume !!(#t~post7 < 20);havoc #t~post7; {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:35,607 INFO L272 TraceCheckUtils]: 50: Hoare triple {5325#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ (mod main_~B~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:35,607 INFO L290 TraceCheckUtils]: 51: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:35,607 INFO L290 TraceCheckUtils]: 52: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5178#false} is VALID [2022-04-27 13:22:35,607 INFO L290 TraceCheckUtils]: 53: Hoare triple {5178#false} assume !false; {5178#false} is VALID [2022-04-27 13:22:35,608 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:35,608 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:36,747 INFO L290 TraceCheckUtils]: 53: Hoare triple {5178#false} assume !false; {5178#false} is VALID [2022-04-27 13:22:36,748 INFO L290 TraceCheckUtils]: 52: Hoare triple {5339#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5178#false} is VALID [2022-04-27 13:22:36,748 INFO L290 TraceCheckUtils]: 51: Hoare triple {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5339#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:36,748 INFO L272 TraceCheckUtils]: 50: Hoare triple {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5335#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:36,749 INFO L290 TraceCheckUtils]: 49: Hoare triple {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:36,749 INFO L290 TraceCheckUtils]: 48: Hoare triple {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:36,749 INFO L290 TraceCheckUtils]: 47: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {5355#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:36,750 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #86#return; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,750 INFO L290 TraceCheckUtils]: 43: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,750 INFO L272 TraceCheckUtils]: 42: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,751 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #84#return; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,751 INFO L290 TraceCheckUtils]: 38: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,751 INFO L272 TraceCheckUtils]: 37: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,754 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5177#true} {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #82#return; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,754 INFO L290 TraceCheckUtils]: 35: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,754 INFO L290 TraceCheckUtils]: 33: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,754 INFO L272 TraceCheckUtils]: 32: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,755 INFO L290 TraceCheckUtils]: 30: Hoare triple {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,755 INFO L290 TraceCheckUtils]: 29: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5365#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:36,756 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5177#true} {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #86#return; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,756 INFO L290 TraceCheckUtils]: 27: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,756 INFO L290 TraceCheckUtils]: 26: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,756 INFO L290 TraceCheckUtils]: 25: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,756 INFO L272 TraceCheckUtils]: 24: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5177#true} {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #84#return; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,757 INFO L290 TraceCheckUtils]: 22: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L290 TraceCheckUtils]: 21: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L290 TraceCheckUtils]: 20: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L272 TraceCheckUtils]: 19: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5177#true} {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #82#return; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,757 INFO L290 TraceCheckUtils]: 17: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,757 INFO L290 TraceCheckUtils]: 16: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,758 INFO L290 TraceCheckUtils]: 15: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,758 INFO L272 TraceCheckUtils]: 14: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,758 INFO L290 TraceCheckUtils]: 13: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,758 INFO L290 TraceCheckUtils]: 12: Hoare triple {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {5177#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5420#(or (not (<= main_~d~0 main_~r~0)) (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:22:36,759 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5177#true} {5177#true} #80#return; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {5177#true} assume !(0 == ~cond); {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {5177#true} ~cond := #in~cond; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L272 TraceCheckUtils]: 6: Hoare triple {5177#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 5: Hoare triple {5177#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L272 TraceCheckUtils]: 4: Hoare triple {5177#true} call #t~ret8 := main(); {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5177#true} {5177#true} #96#return; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 2: Hoare triple {5177#true} assume true; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {5177#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L272 TraceCheckUtils]: 0: Hoare triple {5177#true} call ULTIMATE.init(); {5177#true} is VALID [2022-04-27 13:22:36,759 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 12 proven. 6 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-27 13:22:36,760 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:36,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [624016552] [2022-04-27 13:22:36,760 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:36,760 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1909234758] [2022-04-27 13:22:36,760 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1909234758] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:36,760 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:36,760 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-27 13:22:36,760 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1522407746] [2022-04-27 13:22:36,760 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:36,760 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:36,761 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:36,761 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:36,821 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:36,821 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-27 13:22:36,821 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:36,821 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-27 13:22:36,821 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:36,822 INFO L87 Difference]: Start difference. First operand 186 states and 220 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:40,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,105 INFO L93 Difference]: Finished difference Result 268 states and 340 transitions. [2022-04-27 13:22:40,105 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:40,105 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 54 [2022-04-27 13:22:40,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:40,105 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:40,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:40,107 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:40,108 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 117 transitions. [2022-04-27 13:22:40,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 117 transitions. [2022-04-27 13:22:40,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:40,229 INFO L225 Difference]: With dead ends: 268 [2022-04-27 13:22:40,229 INFO L226 Difference]: Without dead ends: 264 [2022-04-27 13:22:40,229 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2022-04-27 13:22:40,230 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 53 mSDsluCounter, 154 mSDsCounter, 0 mSdLazyCounter, 177 mSolverCounterSat, 51 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 213 SdHoareTripleChecker+Invalid, 228 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 51 IncrementalHoareTripleChecker+Valid, 177 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:40,230 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 213 Invalid, 228 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [51 Valid, 177 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-27 13:22:40,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 264 states. [2022-04-27 13:22:40,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 264 to 239. [2022-04-27 13:22:40,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:40,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:40,317 INFO L74 IsIncluded]: Start isIncluded. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:40,318 INFO L87 Difference]: Start difference. First operand 264 states. Second operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:40,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,325 INFO L93 Difference]: Finished difference Result 264 states and 333 transitions. [2022-04-27 13:22:40,325 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 333 transitions. [2022-04-27 13:22:40,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:40,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:40,326 INFO L74 IsIncluded]: Start isIncluded. First operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 264 states. [2022-04-27 13:22:40,327 INFO L87 Difference]: Start difference. First operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) Second operand 264 states. [2022-04-27 13:22:40,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,333 INFO L93 Difference]: Finished difference Result 264 states and 333 transitions. [2022-04-27 13:22:40,333 INFO L276 IsEmpty]: Start isEmpty. Operand 264 states and 333 transitions. [2022-04-27 13:22:40,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:40,333 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:40,333 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:40,334 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:40,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 155 states have (on average 1.2193548387096773) internal successors, (189), 163 states have internal predecessors, (189), 56 states have call successors, (56), 29 states have call predecessors, (56), 27 states have return successors, (51), 46 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-27 13:22:40,338 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 296 transitions. [2022-04-27 13:22:40,339 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 296 transitions. Word has length 54 [2022-04-27 13:22:40,339 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:40,339 INFO L495 AbstractCegarLoop]: Abstraction has 239 states and 296 transitions. [2022-04-27 13:22:40,339 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, (17), 2 states have call predecessors, (17), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-27 13:22:40,339 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 296 transitions. [2022-04-27 13:22:40,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-27 13:22:40,340 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:40,340 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 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, 1] [2022-04-27 13:22:40,357 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:40,547 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:22:40,547 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:40,548 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:40,548 INFO L85 PathProgramCache]: Analyzing trace with hash 1142595933, now seen corresponding path program 1 times [2022-04-27 13:22:40,548 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:40,548 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [943461442] [2022-04-27 13:22:40,548 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:40,548 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:40,559 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:40,560 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1779662635] [2022-04-27 13:22:40,560 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:40,560 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:40,560 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:40,562 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:40,563 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:22:40,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:40,660 INFO L263 TraceCheckSpWp]: Trace formula consists of 185 conjuncts, 29 conjunts are in the unsatisfiable core [2022-04-27 13:22:40,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:40,673 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:47,771 INFO L272 TraceCheckUtils]: 0: Hoare triple {6750#true} call ULTIMATE.init(); {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 1: Hoare triple {6750#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6750#true} {6750#true} #96#return; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {6750#true} call #t~ret8 := main(); {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 5: Hoare triple {6750#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {6750#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L290 TraceCheckUtils]: 9: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,771 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6750#true} {6750#true} #80#return; {6750#true} is VALID [2022-04-27 13:22:47,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {6750#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,772 INFO L290 TraceCheckUtils]: 12: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,773 INFO L272 TraceCheckUtils]: 14: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,773 INFO L290 TraceCheckUtils]: 15: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,773 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,773 INFO L272 TraceCheckUtils]: 19: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,773 INFO L290 TraceCheckUtils]: 20: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L290 TraceCheckUtils]: 21: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L290 TraceCheckUtils]: 22: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,774 INFO L272 TraceCheckUtils]: 24: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L290 TraceCheckUtils]: 25: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L290 TraceCheckUtils]: 26: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,774 INFO L290 TraceCheckUtils]: 27: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,775 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6750#true} {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,776 INFO L290 TraceCheckUtils]: 29: Hoare triple {6788#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,777 INFO L290 TraceCheckUtils]: 30: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,778 INFO L290 TraceCheckUtils]: 31: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,778 INFO L272 TraceCheckUtils]: 32: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,778 INFO L290 TraceCheckUtils]: 33: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,778 INFO L290 TraceCheckUtils]: 34: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,778 INFO L290 TraceCheckUtils]: 35: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,779 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,779 INFO L272 TraceCheckUtils]: 37: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,779 INFO L290 TraceCheckUtils]: 38: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,779 INFO L290 TraceCheckUtils]: 39: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,779 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,780 INFO L272 TraceCheckUtils]: 42: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,780 INFO L290 TraceCheckUtils]: 43: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,780 INFO L290 TraceCheckUtils]: 44: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,780 INFO L290 TraceCheckUtils]: 45: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,780 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6750#true} {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 47: Hoare triple {6843#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 48: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 49: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,782 INFO L272 TraceCheckUtils]: 50: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 51: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 52: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 53: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:22:47,782 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6750#true} {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,782 INFO L272 TraceCheckUtils]: 55: Hoare triple {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 56: Hoare triple {6750#true} ~cond := #in~cond; {6926#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 57: Hoare triple {6926#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 58: Hoare triple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:47,784 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} {6898#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 2) (<= (div (* (- 1) main_~d~0) (- 2)) (mod main_~B~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {6937#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:22:47,785 INFO L290 TraceCheckUtils]: 60: Hoare triple {6937#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} 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); {6941#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,786 INFO L290 TraceCheckUtils]: 61: Hoare triple {6941#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (* 2 (mod main_~B~0 4294967296))) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:47,787 INFO L290 TraceCheckUtils]: 62: Hoare triple {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:47,787 INFO L290 TraceCheckUtils]: 63: Hoare triple {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} assume !!(#t~post7 < 20);havoc #t~post7; {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:22:47,788 INFO L272 TraceCheckUtils]: 64: Hoare triple {6945#(and (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1) (< (mod main_~A~0 4294967296) (* 2 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:47,788 INFO L290 TraceCheckUtils]: 65: Hoare triple {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:47,788 INFO L290 TraceCheckUtils]: 66: Hoare triple {6959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6751#false} is VALID [2022-04-27 13:22:47,788 INFO L290 TraceCheckUtils]: 67: Hoare triple {6751#false} assume !false; {6751#false} is VALID [2022-04-27 13:22:47,789 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 10 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-27 13:22:47,789 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:23:24,777 WARN L232 SmtUtils]: Spent 15.06s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:24:33,638 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~B~0 4294967296))) (or (<= c_main_~d~0 c_main_~r~0) (not (= c_main_~d~0 (* c_main_~p~0 .cse0))) (let ((.cse4 (= (mod c_main_~p~0 2) 0)) (.cse10 (div c_main_~p~0 2))) (let ((.cse6 (* (+ c_main_~q~0 .cse10) .cse0)) (.cse7 (not .cse4)) (.cse1 (mod c_main_~A~0 4294967296)) (.cse2 (* (- 1) (div c_main_~d~0 2))) (.cse3 (* (+ c_main_~q~0 .cse10 1) .cse0)) (.cse9 (= (mod c_main_~d~0 2) 0)) (.cse8 (< c_main_~d~0 0))) (and (or (let ((.cse5 (< c_main_~p~0 0))) (and (or (= .cse1 (+ c_main_~r~0 .cse2 .cse3)) .cse4 (not .cse5)) (or (= .cse1 (+ .cse6 c_main_~r~0 .cse2)) (and .cse7 .cse5)))) (and .cse8 (not .cse9))) (or (and (or (= .cse1 (+ (- 1) .cse6 c_main_~r~0 .cse2)) .cse7) (or .cse4 (= .cse1 (+ (- 1) c_main_~r~0 .cse2 .cse3)))) .cse9 (not .cse8))))))) is different from true [2022-04-27 13:25:46,497 INFO L290 TraceCheckUtils]: 67: Hoare triple {6751#false} assume !false; {6751#false} is VALID [2022-04-27 13:25:46,497 INFO L290 TraceCheckUtils]: 66: Hoare triple {6959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6751#false} is VALID [2022-04-27 13:25:46,498 INFO L290 TraceCheckUtils]: 65: Hoare triple {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:46,498 INFO L272 TraceCheckUtils]: 64: Hoare triple {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:46,499 INFO L290 TraceCheckUtils]: 63: Hoare triple {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:46,499 INFO L290 TraceCheckUtils]: 62: Hoare triple {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:46,501 INFO L290 TraceCheckUtils]: 61: Hoare triple {6985#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6975#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:46,515 INFO L290 TraceCheckUtils]: 60: Hoare triple {6989#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} 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); {6985#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-27 13:25:46,518 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #90#return; {6989#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:25:46,518 INFO L290 TraceCheckUtils]: 58: Hoare triple {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:46,518 INFO L290 TraceCheckUtils]: 57: Hoare triple {7003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6930#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:46,518 INFO L290 TraceCheckUtils]: 56: Hoare triple {6750#true} ~cond := #in~cond; {7003#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:25:46,518 INFO L272 TraceCheckUtils]: 55: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,519 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {6750#true} {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #88#return; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:25:46,519 INFO L290 TraceCheckUtils]: 53: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,519 INFO L290 TraceCheckUtils]: 52: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,519 INFO L290 TraceCheckUtils]: 51: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,519 INFO L272 TraceCheckUtils]: 50: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,520 INFO L290 TraceCheckUtils]: 49: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !!(#t~post7 < 20);havoc #t~post7; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:25:46,522 INFO L290 TraceCheckUtils]: 48: Hoare triple {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:25:46,523 INFO L290 TraceCheckUtils]: 47: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {6993#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:25:46,523 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #86#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 45: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 44: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 43: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L272 TraceCheckUtils]: 42: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #84#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 40: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 39: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L290 TraceCheckUtils]: 38: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,524 INFO L272 TraceCheckUtils]: 37: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,525 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {6750#true} {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #82#return; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,525 INFO L290 TraceCheckUtils]: 35: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,525 INFO L290 TraceCheckUtils]: 34: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,525 INFO L290 TraceCheckUtils]: 33: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,525 INFO L272 TraceCheckUtils]: 32: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,526 INFO L290 TraceCheckUtils]: 31: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,528 INFO L290 TraceCheckUtils]: 30: Hoare triple {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,532 INFO L290 TraceCheckUtils]: 29: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7031#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:46,532 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #86#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,532 INFO L290 TraceCheckUtils]: 27: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,532 INFO L290 TraceCheckUtils]: 26: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,532 INFO L272 TraceCheckUtils]: 24: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,533 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #84#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,533 INFO L290 TraceCheckUtils]: 22: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,533 INFO L290 TraceCheckUtils]: 21: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,533 INFO L290 TraceCheckUtils]: 20: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,533 INFO L272 TraceCheckUtils]: 19: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,534 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {6750#true} {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #82#return; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,534 INFO L272 TraceCheckUtils]: 14: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,535 INFO L290 TraceCheckUtils]: 12: Hoare triple {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {6750#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7086#(or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (<= (* 2 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0))} is VALID [2022-04-27 13:25:46,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6750#true} {6750#true} #80#return; {6750#true} is VALID [2022-04-27 13:25:46,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {6750#true} assume !(0 == ~cond); {6750#true} is VALID [2022-04-27 13:25:46,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {6750#true} ~cond := #in~cond; {6750#true} is VALID [2022-04-27 13:25:46,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {6750#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L290 TraceCheckUtils]: 5: Hoare triple {6750#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L272 TraceCheckUtils]: 4: Hoare triple {6750#true} call #t~ret8 := main(); {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6750#true} {6750#true} #96#return; {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L290 TraceCheckUtils]: 2: Hoare triple {6750#true} assume true; {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L290 TraceCheckUtils]: 1: Hoare triple {6750#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L272 TraceCheckUtils]: 0: Hoare triple {6750#true} call ULTIMATE.init(); {6750#true} is VALID [2022-04-27 13:25:46,536 INFO L134 CoverageAnalysis]: Checked inductivity of 137 backedges. 36 proven. 4 refuted. 0 times theorem prover too weak. 91 trivial. 6 not checked. [2022-04-27 13:25:46,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:46,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [943461442] [2022-04-27 13:25:46,536 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:46,537 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1779662635] [2022-04-27 13:25:46,537 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1779662635] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:25:46,537 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:25:46,537 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 12] total 19 [2022-04-27 13:25:46,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [498162511] [2022-04-27 13:25:46,537 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:25:46,537 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:25:46,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:46,538 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:25:46,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:46,652 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:25:46,652 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:46,652 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:25:46,652 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=245, Unknown=1, NotChecked=32, Total=342 [2022-04-27 13:25:46,652 INFO L87 Difference]: Start difference. First operand 239 states and 296 transitions. Second operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:17,981 WARN L232 SmtUtils]: Spent 15.97s on a formula simplification. DAG size of input: 67 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:26:20,573 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:23,218 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:37,657 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:38,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:38,201 INFO L93 Difference]: Finished difference Result 355 states and 449 transitions. [2022-04-27 13:26:38,201 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:26:38,201 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) Word has length 68 [2022-04-27 13:26:38,202 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:38,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:38,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 149 transitions. [2022-04-27 13:26:38,206 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:38,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 149 transitions. [2022-04-27 13:26:38,208 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 149 transitions. [2022-04-27 13:26:38,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:26:38,596 INFO L225 Difference]: With dead ends: 355 [2022-04-27 13:26:38,596 INFO L226 Difference]: Without dead ends: 279 [2022-04-27 13:26:38,597 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 116 ImplicationChecksByTransitivity, 35.0s TimeCoverageRelationStatistics Valid=119, Invalid=484, Unknown=1, NotChecked=46, Total=650 [2022-04-27 13:26:38,597 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 96 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 395 mSolverCounterSat, 144 mSolverCounterUnsat, 3 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 105 SdHoareTripleChecker+Valid, 191 SdHoareTripleChecker+Invalid, 629 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 144 IncrementalHoareTripleChecker+Valid, 395 IncrementalHoareTripleChecker+Invalid, 3 IncrementalHoareTripleChecker+Unknown, 87 IncrementalHoareTripleChecker+Unchecked, 11.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:26:38,598 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [105 Valid, 191 Invalid, 629 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [144 Valid, 395 Invalid, 3 Unknown, 87 Unchecked, 11.3s Time] [2022-04-27 13:26:38,598 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 279 states. [2022-04-27 13:26:38,690 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 279 to 252. [2022-04-27 13:26:38,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:38,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 279 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:26:38,691 INFO L74 IsIncluded]: Start isIncluded. First operand 279 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:26:38,692 INFO L87 Difference]: Start difference. First operand 279 states. Second operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:26:38,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:38,699 INFO L93 Difference]: Finished difference Result 279 states and 345 transitions. [2022-04-27 13:26:38,699 INFO L276 IsEmpty]: Start isEmpty. Operand 279 states and 345 transitions. [2022-04-27 13:26:38,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:38,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:38,701 INFO L74 IsIncluded]: Start isIncluded. First operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 279 states. [2022-04-27 13:26:38,701 INFO L87 Difference]: Start difference. First operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 279 states. [2022-04-27 13:26:38,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:38,708 INFO L93 Difference]: Finished difference Result 279 states and 345 transitions. [2022-04-27 13:26:38,708 INFO L276 IsEmpty]: Start isEmpty. Operand 279 states and 345 transitions. [2022-04-27 13:26:38,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:38,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:38,710 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:38,710 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:38,710 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 252 states, 168 states have (on average 1.1904761904761905) internal successors, (200), 176 states have internal predecessors, (200), 53 states have call successors, (53), 31 states have call predecessors, (53), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-27 13:26:38,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 302 transitions. [2022-04-27 13:26:38,716 INFO L78 Accepts]: Start accepts. Automaton has 252 states and 302 transitions. Word has length 68 [2022-04-27 13:26:38,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:38,716 INFO L495 AbstractCegarLoop]: Abstraction has 252 states and 302 transitions. [2022-04-27 13:26:38,717 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.263157894736842) internal successors, (43), 16 states have internal predecessors, (43), 9 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (18), 9 states have call predecessors, (18), 7 states have call successors, (18) [2022-04-27 13:26:38,717 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 302 transitions. [2022-04-27 13:26:38,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2022-04-27 13:26:38,717 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:38,718 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 2, 2, 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:26:38,739 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:26:38,931 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:38,931 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:38,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:38,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1792978632, now seen corresponding path program 1 times [2022-04-27 13:26:38,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:38,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1459142601] [2022-04-27 13:26:38,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:38,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:38,942 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:38,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [971498605] [2022-04-27 13:26:38,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:38,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:38,942 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:38,943 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:26:38,946 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:26:39,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:39,004 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 26 conjunts are in the unsatisfiable core [2022-04-27 13:26:39,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:39,019 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:26:43,222 INFO L272 TraceCheckUtils]: 0: Hoare triple {8583#true} call ULTIMATE.init(); {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {8583#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8583#true} {8583#true} #96#return; {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L272 TraceCheckUtils]: 4: Hoare triple {8583#true} call #t~ret8 := main(); {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 5: Hoare triple {8583#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L272 TraceCheckUtils]: 6: Hoare triple {8583#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,223 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8583#true} {8583#true} #80#return; {8583#true} is VALID [2022-04-27 13:26:43,223 INFO L290 TraceCheckUtils]: 11: Hoare triple {8583#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:26:43,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:26:43,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:26:43,224 INFO L272 TraceCheckUtils]: 14: Hoare triple {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,224 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8583#true} {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:26:43,224 INFO L272 TraceCheckUtils]: 19: Hoare triple {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,225 INFO L290 TraceCheckUtils]: 20: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,225 INFO L290 TraceCheckUtils]: 21: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,225 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8583#true} {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:26:43,225 INFO L272 TraceCheckUtils]: 24: Hoare triple {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,225 INFO L290 TraceCheckUtils]: 25: Hoare triple {8583#true} ~cond := #in~cond; {8664#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:43,226 INFO L290 TraceCheckUtils]: 26: Hoare triple {8664#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8668#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:43,226 INFO L290 TraceCheckUtils]: 27: Hoare triple {8668#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8668#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:26:43,227 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8668#(not (= |__VERIFIER_assert_#in~cond| 0))} {8621#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {8675#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:43,228 INFO L290 TraceCheckUtils]: 29: Hoare triple {8675#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,229 INFO L290 TraceCheckUtils]: 30: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,229 INFO L272 TraceCheckUtils]: 32: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,229 INFO L290 TraceCheckUtils]: 33: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,229 INFO L290 TraceCheckUtils]: 35: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,230 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8583#true} {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #82#return; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,230 INFO L272 TraceCheckUtils]: 37: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,230 INFO L290 TraceCheckUtils]: 38: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,230 INFO L290 TraceCheckUtils]: 39: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,230 INFO L290 TraceCheckUtils]: 40: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,231 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {8583#true} {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #84#return; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,231 INFO L272 TraceCheckUtils]: 42: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,231 INFO L290 TraceCheckUtils]: 43: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,231 INFO L290 TraceCheckUtils]: 44: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,231 INFO L290 TraceCheckUtils]: 45: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,231 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {8583#true} {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #86#return; {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,232 INFO L290 TraceCheckUtils]: 47: Hoare triple {8679#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,232 INFO L290 TraceCheckUtils]: 48: Hoare triple {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 49: Hoare triple {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(#t~post7 < 20);havoc #t~post7; {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,233 INFO L272 TraceCheckUtils]: 50: Hoare triple {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 51: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 52: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 53: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {8583#true} {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #88#return; {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,233 INFO L272 TraceCheckUtils]: 55: Hoare triple {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 56: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 57: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,233 INFO L290 TraceCheckUtils]: 58: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,234 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8583#true} {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #90#return; {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:26:43,235 INFO L290 TraceCheckUtils]: 60: Hoare triple {8734#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 main_~d~0) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} 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); {8774#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:26:43,236 INFO L290 TraceCheckUtils]: 61: Hoare triple {8774#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:26:43,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:26:43,237 INFO L290 TraceCheckUtils]: 63: Hoare triple {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !!(#t~post7 < 20);havoc #t~post7; {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:26:43,238 INFO L272 TraceCheckUtils]: 64: Hoare triple {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,238 INFO L290 TraceCheckUtils]: 65: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,238 INFO L290 TraceCheckUtils]: 66: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,238 INFO L290 TraceCheckUtils]: 67: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,239 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {8583#true} {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #88#return; {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:26:43,239 INFO L272 TraceCheckUtils]: 69: Hoare triple {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8583#true} is VALID [2022-04-27 13:26:43,240 INFO L290 TraceCheckUtils]: 70: Hoare triple {8583#true} ~cond := #in~cond; {8583#true} is VALID [2022-04-27 13:26:43,240 INFO L290 TraceCheckUtils]: 71: Hoare triple {8583#true} assume !(0 == ~cond); {8583#true} is VALID [2022-04-27 13:26:43,240 INFO L290 TraceCheckUtils]: 72: Hoare triple {8583#true} assume true; {8583#true} is VALID [2022-04-27 13:26:43,240 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {8583#true} {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} #90#return; {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} is VALID [2022-04-27 13:26:43,241 INFO L290 TraceCheckUtils]: 74: Hoare triple {8778#(and (= main_~q~0 main_~p~0) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)))} assume !(1 != ~p~0); {8818#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-27 13:26:43,241 INFO L272 TraceCheckUtils]: 75: Hoare triple {8818#(and (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {8822#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:43,242 INFO L290 TraceCheckUtils]: 76: Hoare triple {8822#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8826#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:43,242 INFO L290 TraceCheckUtils]: 77: Hoare triple {8826#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8584#false} is VALID [2022-04-27 13:26:43,242 INFO L290 TraceCheckUtils]: 78: Hoare triple {8584#false} assume !false; {8584#false} is VALID [2022-04-27 13:26:43,243 INFO L134 CoverageAnalysis]: Checked inductivity of 211 backedges. 25 proven. 33 refuted. 0 times theorem prover too weak. 153 trivial. 0 not checked. [2022-04-27 13:26:43,243 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:20,012 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:20,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1459142601] [2022-04-27 13:28:20,012 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:20,012 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [971498605] [2022-04-27 13:28:20,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [971498605] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 13:28:20,012 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:28:20,013 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13] total 13 [2022-04-27 13:28:20,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [822670661] [2022-04-27 13:28:20,013 INFO L85 oduleStraightlineAll]: Using 1 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:20,013 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:28:20,013 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:20,013 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:20,073 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:28:20,073 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-27 13:28:20,074 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:20,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-27 13:28:20,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=266, Unknown=0, NotChecked=0, Total=342 [2022-04-27 13:28:20,074 INFO L87 Difference]: Start difference. First operand 252 states and 302 transitions. Second operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:24,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:24,312 INFO L93 Difference]: Finished difference Result 350 states and 433 transitions. [2022-04-27 13:28:24,312 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-27 13:28:24,312 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) Word has length 79 [2022-04-27 13:28:24,312 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:24,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:24,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:28:24,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:24,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 137 transitions. [2022-04-27 13:28:24,318 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 137 transitions. [2022-04-27 13:28:24,481 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:24,486 INFO L225 Difference]: With dead ends: 350 [2022-04-27 13:28:24,486 INFO L226 Difference]: Without dead ends: 287 [2022-04-27 13:28:24,487 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 135 GetRequests, 110 SyntacticMatches, 2 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=126, Invalid=474, Unknown=0, NotChecked=0, Total=600 [2022-04-27 13:28:24,488 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 31 mSDsluCounter, 259 mSDsCounter, 0 mSdLazyCounter, 526 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 312 SdHoareTripleChecker+Invalid, 572 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 526 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:24,488 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 312 Invalid, 572 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 526 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-27 13:28:24,489 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 287 states. [2022-04-27 13:28:24,675 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 287 to 268. [2022-04-27 13:28:24,675 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:24,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:28:24,680 INFO L74 IsIncluded]: Start isIncluded. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:28:24,681 INFO L87 Difference]: Start difference. First operand 287 states. Second operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:28:24,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:24,689 INFO L93 Difference]: Finished difference Result 287 states and 348 transitions. [2022-04-27 13:28:24,689 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 348 transitions. [2022-04-27 13:28:24,691 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:24,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:24,691 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 287 states. [2022-04-27 13:28:24,692 INFO L87 Difference]: Start difference. First operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 287 states. [2022-04-27 13:28:24,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:24,700 INFO L93 Difference]: Finished difference Result 287 states and 348 transitions. [2022-04-27 13:28:24,700 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 348 transitions. [2022-04-27 13:28:24,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:24,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:24,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:24,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:24,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 178 states have (on average 1.1797752808988764) internal successors, (210), 186 states have internal predecessors, (210), 57 states have call successors, (57), 34 states have call predecessors, (57), 32 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-27 13:28:24,708 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 320 transitions. [2022-04-27 13:28:24,709 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 320 transitions. Word has length 79 [2022-04-27 13:28:24,710 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:24,711 INFO L495 AbstractCegarLoop]: Abstraction has 268 states and 320 transitions. [2022-04-27 13:28:24,711 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 6 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 6 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-27 13:28:24,711 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 320 transitions. [2022-04-27 13:28:24,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 83 [2022-04-27 13:28:24,712 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:24,712 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 2, 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] [2022-04-27 13:28:24,740 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:28:24,927 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:28:24,927 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:24,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:24,928 INFO L85 PathProgramCache]: Analyzing trace with hash 437079945, now seen corresponding path program 2 times [2022-04-27 13:28:24,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:24,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [321508441] [2022-04-27 13:28:24,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:24,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:24,944 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:24,944 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [96866118] [2022-04-27 13:28:24,945 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:28:24,945 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:24,945 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:24,946 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:28:24,947 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:28:24,996 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:28:24,996 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:28:24,997 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:28:25,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:25,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:25,150 INFO L272 TraceCheckUtils]: 0: Hoare triple {10427#true} call ULTIMATE.init(); {10427#true} is VALID [2022-04-27 13:28:25,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {10427#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10427#true} is VALID [2022-04-27 13:28:25,150 INFO L290 TraceCheckUtils]: 2: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,150 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10427#true} {10427#true} #96#return; {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L272 TraceCheckUtils]: 4: Hoare triple {10427#true} call #t~ret8 := main(); {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L290 TraceCheckUtils]: 5: Hoare triple {10427#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L272 TraceCheckUtils]: 6: Hoare triple {10427#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L290 TraceCheckUtils]: 7: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L290 TraceCheckUtils]: 8: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L290 TraceCheckUtils]: 9: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,151 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10427#true} {10427#true} #80#return; {10427#true} is VALID [2022-04-27 13:28:25,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {10427#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {10465#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {10465#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,156 INFO L272 TraceCheckUtils]: 14: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 16: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 17: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #82#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,156 INFO L272 TraceCheckUtils]: 19: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 20: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 21: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,156 INFO L290 TraceCheckUtils]: 22: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,157 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #84#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,157 INFO L272 TraceCheckUtils]: 24: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,157 INFO L290 TraceCheckUtils]: 25: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,157 INFO L290 TraceCheckUtils]: 26: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,157 INFO L290 TraceCheckUtils]: 27: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,157 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #86#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,158 INFO L290 TraceCheckUtils]: 29: Hoare triple {10465#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,158 INFO L290 TraceCheckUtils]: 30: Hoare triple {10520#(= main_~p~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,158 INFO L290 TraceCheckUtils]: 31: Hoare triple {10520#(= main_~p~0 2)} assume !!(#t~post6 < 20);havoc #t~post6; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,158 INFO L272 TraceCheckUtils]: 32: Hoare triple {10520#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 33: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 34: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 35: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10427#true} {10520#(= main_~p~0 2)} #82#return; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,159 INFO L272 TraceCheckUtils]: 37: Hoare triple {10520#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 38: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 39: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,159 INFO L290 TraceCheckUtils]: 40: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,160 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10427#true} {10520#(= main_~p~0 2)} #84#return; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,160 INFO L272 TraceCheckUtils]: 42: Hoare triple {10520#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,160 INFO L290 TraceCheckUtils]: 45: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,160 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10427#true} {10520#(= main_~p~0 2)} #86#return; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 47: Hoare triple {10520#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 48: Hoare triple {10520#(= main_~p~0 2)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 49: Hoare triple {10520#(= main_~p~0 2)} assume !!(#t~post7 < 20);havoc #t~post7; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,161 INFO L272 TraceCheckUtils]: 50: Hoare triple {10520#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 51: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 52: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,161 INFO L290 TraceCheckUtils]: 53: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,162 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10427#true} {10520#(= main_~p~0 2)} #88#return; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,162 INFO L272 TraceCheckUtils]: 55: Hoare triple {10520#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,162 INFO L290 TraceCheckUtils]: 56: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,162 INFO L290 TraceCheckUtils]: 57: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,162 INFO L290 TraceCheckUtils]: 58: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,163 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10427#true} {10520#(= main_~p~0 2)} #90#return; {10520#(= main_~p~0 2)} is VALID [2022-04-27 13:28:25,163 INFO L290 TraceCheckUtils]: 60: Hoare triple {10520#(= main_~p~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); {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,163 INFO L290 TraceCheckUtils]: 61: Hoare triple {10465#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,164 INFO L290 TraceCheckUtils]: 62: Hoare triple {10465#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,164 INFO L290 TraceCheckUtils]: 63: Hoare triple {10465#(= main_~p~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,164 INFO L272 TraceCheckUtils]: 64: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,164 INFO L290 TraceCheckUtils]: 65: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,164 INFO L290 TraceCheckUtils]: 66: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,164 INFO L290 TraceCheckUtils]: 67: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,165 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #88#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,165 INFO L272 TraceCheckUtils]: 69: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,165 INFO L290 TraceCheckUtils]: 70: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,165 INFO L290 TraceCheckUtils]: 71: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,165 INFO L290 TraceCheckUtils]: 72: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,165 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #90#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 74: Hoare triple {10465#(= main_~p~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); {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 75: Hoare triple {10428#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 76: Hoare triple {10428#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 77: Hoare triple {10428#false} assume !!(#t~post7 < 20);havoc #t~post7; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L272 TraceCheckUtils]: 78: Hoare triple {10428#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 79: Hoare triple {10428#false} ~cond := #in~cond; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 80: Hoare triple {10428#false} assume 0 == ~cond; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L290 TraceCheckUtils]: 81: Hoare triple {10428#false} assume !false; {10428#false} is VALID [2022-04-27 13:28:25,166 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:28:25,166 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 81: Hoare triple {10428#false} assume !false; {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 80: Hoare triple {10428#false} assume 0 == ~cond; {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 79: Hoare triple {10428#false} ~cond := #in~cond; {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L272 TraceCheckUtils]: 78: Hoare triple {10428#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 77: Hoare triple {10428#false} assume !!(#t~post7 < 20);havoc #t~post7; {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 76: Hoare triple {10428#false} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10428#false} is VALID [2022-04-27 13:28:25,395 INFO L290 TraceCheckUtils]: 75: Hoare triple {10428#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10428#false} is VALID [2022-04-27 13:28:25,396 INFO L290 TraceCheckUtils]: 74: Hoare triple {10465#(= main_~p~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); {10428#false} is VALID [2022-04-27 13:28:25,396 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #90#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,396 INFO L290 TraceCheckUtils]: 72: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,396 INFO L290 TraceCheckUtils]: 71: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,396 INFO L290 TraceCheckUtils]: 70: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,396 INFO L272 TraceCheckUtils]: 69: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,397 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #88#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,397 INFO L290 TraceCheckUtils]: 67: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,397 INFO L290 TraceCheckUtils]: 66: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,397 INFO L290 TraceCheckUtils]: 65: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,397 INFO L272 TraceCheckUtils]: 64: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,397 INFO L290 TraceCheckUtils]: 63: Hoare triple {10465#(= main_~p~0 1)} assume !!(#t~post7 < 20);havoc #t~post7; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,397 INFO L290 TraceCheckUtils]: 62: Hoare triple {10465#(= main_~p~0 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,398 INFO L290 TraceCheckUtils]: 61: Hoare triple {10465#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,398 INFO L290 TraceCheckUtils]: 60: Hoare triple {10740#(= (div main_~p~0 2) 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); {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,399 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10427#true} {10740#(= (div main_~p~0 2) 1)} #90#return; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,399 INFO L290 TraceCheckUtils]: 58: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,399 INFO L290 TraceCheckUtils]: 57: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,399 INFO L290 TraceCheckUtils]: 56: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,399 INFO L272 TraceCheckUtils]: 55: Hoare triple {10740#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,399 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {10427#true} {10740#(= (div main_~p~0 2) 1)} #88#return; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 53: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 52: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 51: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,400 INFO L272 TraceCheckUtils]: 50: Hoare triple {10740#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 49: Hoare triple {10740#(= (div main_~p~0 2) 1)} assume !!(#t~post7 < 20);havoc #t~post7; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 48: Hoare triple {10740#(= (div main_~p~0 2) 1)} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,400 INFO L290 TraceCheckUtils]: 47: Hoare triple {10740#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,401 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {10427#true} {10740#(= (div main_~p~0 2) 1)} #86#return; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 45: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 44: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 43: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L272 TraceCheckUtils]: 42: Hoare triple {10740#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {10427#true} {10740#(= (div main_~p~0 2) 1)} #84#return; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 40: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 39: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,401 INFO L290 TraceCheckUtils]: 38: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L272 TraceCheckUtils]: 37: Hoare triple {10740#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10427#true} {10740#(= (div main_~p~0 2) 1)} #82#return; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,402 INFO L290 TraceCheckUtils]: 35: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L290 TraceCheckUtils]: 34: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L290 TraceCheckUtils]: 33: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L272 TraceCheckUtils]: 32: Hoare triple {10740#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,402 INFO L290 TraceCheckUtils]: 31: Hoare triple {10740#(= (div main_~p~0 2) 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,403 INFO L290 TraceCheckUtils]: 30: Hoare triple {10740#(= (div main_~p~0 2) 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,403 INFO L290 TraceCheckUtils]: 29: Hoare triple {10465#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {10740#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:28:25,403 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #86#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,403 INFO L290 TraceCheckUtils]: 27: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,403 INFO L290 TraceCheckUtils]: 26: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,403 INFO L272 TraceCheckUtils]: 24: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #84#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 22: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 21: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 20: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L272 TraceCheckUtils]: 19: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10427#true} {10465#(= main_~p~0 1)} #82#return; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 17: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 16: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,404 INFO L290 TraceCheckUtils]: 15: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L272 TraceCheckUtils]: 14: Hoare triple {10465#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 13: Hoare triple {10465#(= main_~p~0 1)} assume !!(#t~post6 < 20);havoc #t~post6; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 12: Hoare triple {10465#(= main_~p~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 11: Hoare triple {10427#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {10465#(= main_~p~0 1)} is VALID [2022-04-27 13:28:25,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10427#true} {10427#true} #80#return; {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {10427#true} assume !(0 == ~cond); {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {10427#true} ~cond := #in~cond; {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {10427#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {10427#true} is VALID [2022-04-27 13:28:25,405 INFO L290 TraceCheckUtils]: 5: Hoare triple {10427#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L272 TraceCheckUtils]: 4: Hoare triple {10427#true} call #t~ret8 := main(); {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10427#true} {10427#true} #96#return; {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {10427#true} assume true; {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {10427#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L272 TraceCheckUtils]: 0: Hoare triple {10427#true} call ULTIMATE.init(); {10427#true} is VALID [2022-04-27 13:28:25,406 INFO L134 CoverageAnalysis]: Checked inductivity of 218 backedges. 27 proven. 11 refuted. 0 times theorem prover too weak. 180 trivial. 0 not checked. [2022-04-27 13:28:25,406 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:25,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [321508441] [2022-04-27 13:28:25,406 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:25,406 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [96866118] [2022-04-27 13:28:25,406 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [96866118] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:25,406 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:25,406 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:28:25,406 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1113128214] [2022-04-27 13:28:25,407 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:25,407 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:28:25,407 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:25,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:25,462 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:25,462 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:28:25,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:25,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:28:25,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:25,463 INFO L87 Difference]: Start difference. First operand 268 states and 320 transitions. Second operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:25,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:25,763 INFO L93 Difference]: Finished difference Result 306 states and 366 transitions. [2022-04-27 13:28:25,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:28:25,763 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) Word has length 82 [2022-04-27 13:28:25,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:25,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:25,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:28:25,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:25,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 99 transitions. [2022-04-27 13:28:25,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 99 transitions. [2022-04-27 13:28:25,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:25,844 INFO L225 Difference]: With dead ends: 306 [2022-04-27 13:28:25,844 INFO L226 Difference]: Without dead ends: 259 [2022-04-27 13:28:25,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 159 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:25,845 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 0 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 36 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 1 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 36 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:25,845 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [1 Valid, 133 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 36 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:28:25,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-27 13:28:25,991 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 248. [2022-04-27 13:28:25,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:25,992 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:28:25,992 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:28:25,993 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:28:25,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:25,997 INFO L93 Difference]: Finished difference Result 259 states and 306 transitions. [2022-04-27 13:28:25,997 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 306 transitions. [2022-04-27 13:28:25,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:25,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:25,998 INFO L74 IsIncluded]: Start isIncluded. First operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 259 states. [2022-04-27 13:28:25,998 INFO L87 Difference]: Start difference. First operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) Second operand 259 states. [2022-04-27 13:28:26,003 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:26,003 INFO L93 Difference]: Finished difference Result 259 states and 306 transitions. [2022-04-27 13:28:26,003 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 306 transitions. [2022-04-27 13:28:26,003 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:26,003 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:26,003 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:26,003 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:26,004 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 248 states, 166 states have (on average 1.1686746987951808) internal successors, (194), 171 states have internal predecessors, (194), 51 states have call successors, (51), 32 states have call predecessors, (51), 30 states have return successors, (48), 44 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-27 13:28:26,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 248 states to 248 states and 293 transitions. [2022-04-27 13:28:26,008 INFO L78 Accepts]: Start accepts. Automaton has 248 states and 293 transitions. Word has length 82 [2022-04-27 13:28:26,008 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:26,008 INFO L495 AbstractCegarLoop]: Abstraction has 248 states and 293 transitions. [2022-04-27 13:28:26,008 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 7.2) internal successors, (36), 5 states have internal predecessors, (36), 5 states have call successors, (19), 2 states have call predecessors, (19), 1 states have return successors, (17), 4 states have call predecessors, (17), 4 states have call successors, (17) [2022-04-27 13:28:26,008 INFO L276 IsEmpty]: Start isEmpty. Operand 248 states and 293 transitions. [2022-04-27 13:28:26,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2022-04-27 13:28:26,009 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:26,009 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 2, 2, 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, 1, 1] [2022-04-27 13:28:26,029 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:28:26,215 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:28:26,215 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:26,215 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:26,216 INFO L85 PathProgramCache]: Analyzing trace with hash 111833757, now seen corresponding path program 1 times [2022-04-27 13:28:26,216 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:26,216 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472572997] [2022-04-27 13:28:26,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:26,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:26,224 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:26,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1983678503] [2022-04-27 13:28:26,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:26,225 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:26,225 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:26,229 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:28:26,237 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:28:26,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:26,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:28:26,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:26,290 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:27,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {12194#true} call ULTIMATE.init(); {12194#true} is VALID [2022-04-27 13:28:27,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {12194#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12194#true} is VALID [2022-04-27 13:28:27,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12194#true} {12194#true} #96#return; {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {12194#true} call #t~ret8 := main(); {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {12194#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L272 TraceCheckUtils]: 6: Hoare triple {12194#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 7: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 8: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 9: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12194#true} {12194#true} #80#return; {12194#true} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 11: Hoare triple {12194#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,156 INFO L290 TraceCheckUtils]: 12: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post6 < 20);havoc #t~post6; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,157 INFO L272 TraceCheckUtils]: 14: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 15: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 16: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 17: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #82#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,157 INFO L272 TraceCheckUtils]: 19: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 20: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,157 INFO L290 TraceCheckUtils]: 21: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,158 INFO L290 TraceCheckUtils]: 22: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,158 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #84#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,158 INFO L272 TraceCheckUtils]: 24: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,158 INFO L290 TraceCheckUtils]: 25: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,158 INFO L290 TraceCheckUtils]: 26: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,158 INFO L290 TraceCheckUtils]: 27: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,159 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #86#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 29: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 30: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(#t~post6 < 20);havoc #t~post6; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,160 INFO L272 TraceCheckUtils]: 32: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 34: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,161 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12194#true} {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #82#return; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,161 INFO L272 TraceCheckUtils]: 37: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,161 INFO L290 TraceCheckUtils]: 38: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,161 INFO L290 TraceCheckUtils]: 39: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,161 INFO L290 TraceCheckUtils]: 40: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,162 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12194#true} {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #84#return; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,162 INFO L272 TraceCheckUtils]: 42: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,162 INFO L290 TraceCheckUtils]: 43: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,162 INFO L290 TraceCheckUtils]: 44: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,162 INFO L290 TraceCheckUtils]: 45: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,162 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12194#true} {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #86#return; {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:28:27,164 INFO L290 TraceCheckUtils]: 47: Hoare triple {12287#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:27,164 INFO L290 TraceCheckUtils]: 48: Hoare triple {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:27,165 INFO L290 TraceCheckUtils]: 49: Hoare triple {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(#t~post7 < 20);havoc #t~post7; {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:27,165 INFO L272 TraceCheckUtils]: 50: Hoare triple {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,165 INFO L290 TraceCheckUtils]: 51: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,165 INFO L290 TraceCheckUtils]: 52: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,165 INFO L290 TraceCheckUtils]: 53: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,165 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12194#true} {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #88#return; {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:27,165 INFO L272 TraceCheckUtils]: 55: Hoare triple {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,166 INFO L290 TraceCheckUtils]: 56: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,166 INFO L290 TraceCheckUtils]: 57: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,166 INFO L290 TraceCheckUtils]: 58: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,166 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12194#true} {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #90#return; {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:28:27,167 INFO L290 TraceCheckUtils]: 60: Hoare triple {12342#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} 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); {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,168 INFO L290 TraceCheckUtils]: 61: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,168 INFO L290 TraceCheckUtils]: 62: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,168 INFO L290 TraceCheckUtils]: 63: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,168 INFO L272 TraceCheckUtils]: 64: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 65: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 66: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 67: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12194#true} {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #88#return; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,169 INFO L272 TraceCheckUtils]: 69: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 70: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 71: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,169 INFO L290 TraceCheckUtils]: 72: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,170 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12194#true} {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #90#return; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,170 INFO L290 TraceCheckUtils]: 74: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,170 INFO L272 TraceCheckUtils]: 75: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,170 INFO L290 TraceCheckUtils]: 76: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,170 INFO L290 TraceCheckUtils]: 77: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,170 INFO L290 TraceCheckUtils]: 78: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,171 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12194#true} {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #92#return; {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:27,171 INFO L272 TraceCheckUtils]: 80: Hoare triple {12382#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {12443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:27,171 INFO L290 TraceCheckUtils]: 81: Hoare triple {12443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:27,172 INFO L290 TraceCheckUtils]: 82: Hoare triple {12447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12195#false} is VALID [2022-04-27 13:28:27,172 INFO L290 TraceCheckUtils]: 83: Hoare triple {12195#false} assume !false; {12195#false} is VALID [2022-04-27 13:28:27,172 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:28:27,172 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:28:27,721 INFO L290 TraceCheckUtils]: 83: Hoare triple {12195#false} assume !false; {12195#false} is VALID [2022-04-27 13:28:27,721 INFO L290 TraceCheckUtils]: 82: Hoare triple {12447#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12195#false} is VALID [2022-04-27 13:28:27,722 INFO L290 TraceCheckUtils]: 81: Hoare triple {12443#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12447#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:27,722 INFO L272 TraceCheckUtils]: 80: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {12443#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:27,723 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #92#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,723 INFO L290 TraceCheckUtils]: 78: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,723 INFO L290 TraceCheckUtils]: 77: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,723 INFO L290 TraceCheckUtils]: 76: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,723 INFO L272 TraceCheckUtils]: 75: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,723 INFO L290 TraceCheckUtils]: 74: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,724 INFO L284 TraceCheckUtils]: 73: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #90#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,724 INFO L290 TraceCheckUtils]: 72: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,724 INFO L290 TraceCheckUtils]: 71: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,724 INFO L290 TraceCheckUtils]: 70: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,724 INFO L272 TraceCheckUtils]: 69: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,725 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12194#true} {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #88#return; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 67: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 66: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 65: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,725 INFO L272 TraceCheckUtils]: 64: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 63: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(#t~post7 < 20);havoc #t~post7; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 62: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,725 INFO L290 TraceCheckUtils]: 61: Hoare triple {12232#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,727 INFO L290 TraceCheckUtils]: 60: Hoare triple {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} 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); {12232#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:27,728 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {12194#true} {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #90#return; {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 58: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 56: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L272 TraceCheckUtils]: 55: Hoare triple {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {12194#true} {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #88#return; {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 53: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 52: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L290 TraceCheckUtils]: 51: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,728 INFO L272 TraceCheckUtils]: 50: Hoare triple {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,729 INFO L290 TraceCheckUtils]: 49: Hoare triple {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(#t~post7 < 20);havoc #t~post7; {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:27,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:27,731 INFO L290 TraceCheckUtils]: 47: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {12523#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:28:27,731 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {12194#true} {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #86#return; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,731 INFO L290 TraceCheckUtils]: 45: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L290 TraceCheckUtils]: 44: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L290 TraceCheckUtils]: 43: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L272 TraceCheckUtils]: 42: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {12194#true} {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #84#return; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L290 TraceCheckUtils]: 38: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,732 INFO L272 TraceCheckUtils]: 37: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,733 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {12194#true} {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #82#return; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,733 INFO L290 TraceCheckUtils]: 34: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,733 INFO L290 TraceCheckUtils]: 33: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,733 INFO L272 TraceCheckUtils]: 32: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !!(#t~post6 < 20);havoc #t~post6; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,735 INFO L290 TraceCheckUtils]: 29: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {12563#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:28:27,736 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {12194#true} {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #86#return; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,736 INFO L290 TraceCheckUtils]: 27: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,736 INFO L272 TraceCheckUtils]: 24: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,737 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {12194#true} {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #84#return; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,737 INFO L290 TraceCheckUtils]: 22: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,737 INFO L272 TraceCheckUtils]: 19: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,737 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {12194#true} {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #82#return; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,737 INFO L290 TraceCheckUtils]: 17: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,738 INFO L290 TraceCheckUtils]: 16: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,738 INFO L290 TraceCheckUtils]: 15: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,738 INFO L272 TraceCheckUtils]: 14: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,738 INFO L290 TraceCheckUtils]: 13: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,738 INFO L290 TraceCheckUtils]: 12: Hoare triple {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 11: Hoare triple {12194#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {12618#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:28:27,739 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12194#true} {12194#true} #80#return; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {12194#true} assume !(0 == ~cond); {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {12194#true} ~cond := #in~cond; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L272 TraceCheckUtils]: 6: Hoare triple {12194#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 5: Hoare triple {12194#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L272 TraceCheckUtils]: 4: Hoare triple {12194#true} call #t~ret8 := main(); {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12194#true} {12194#true} #96#return; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 2: Hoare triple {12194#true} assume true; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L290 TraceCheckUtils]: 1: Hoare triple {12194#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {12194#true} is VALID [2022-04-27 13:28:27,739 INFO L272 TraceCheckUtils]: 0: Hoare triple {12194#true} call ULTIMATE.init(); {12194#true} is VALID [2022-04-27 13:28:27,740 INFO L134 CoverageAnalysis]: Checked inductivity of 253 backedges. 22 proven. 11 refuted. 0 times theorem prover too weak. 220 trivial. 0 not checked. [2022-04-27 13:28:27,740 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:27,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472572997] [2022-04-27 13:28:27,740 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:27,740 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1983678503] [2022-04-27 13:28:27,740 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1983678503] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:27,740 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:27,740 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:28:27,740 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [92619321] [2022-04-27 13:28:27,740 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:27,753 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:28:27,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:27,753 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:27,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:27,858 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:28:27,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:27,858 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:28:27,858 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:28:27,858 INFO L87 Difference]: Start difference. First operand 248 states and 293 transitions. Second operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:29,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:29,152 INFO L93 Difference]: Finished difference Result 254 states and 299 transitions. [2022-04-27 13:28:29,152 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:28:29,152 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) Word has length 84 [2022-04-27 13:28:29,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:29,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:29,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:28:29,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:29,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 82 transitions. [2022-04-27 13:28:29,154 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 82 transitions. [2022-04-27 13:28:29,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:29,238 INFO L225 Difference]: With dead ends: 254 [2022-04-27 13:28:29,238 INFO L226 Difference]: Without dead ends: 229 [2022-04-27 13:28:29,238 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 157 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:28:29,239 INFO L413 NwaCegarLoop]: 61 mSDtfsCounter, 12 mSDsluCounter, 219 mSDsCounter, 0 mSdLazyCounter, 153 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 280 SdHoareTripleChecker+Invalid, 167 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 153 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:29,239 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 280 Invalid, 167 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 153 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:28:29,239 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2022-04-27 13:28:29,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 229. [2022-04-27 13:28:29,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:29,338 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:28:29,339 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:28:29,339 INFO L87 Difference]: Start difference. First operand 229 states. Second operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:28:29,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:29,344 INFO L93 Difference]: Finished difference Result 229 states and 271 transitions. [2022-04-27 13:28:29,344 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:28:29,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:29,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:29,344 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) Second operand 229 states. [2022-04-27 13:28:29,345 INFO L87 Difference]: Start difference. First operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) Second operand 229 states. [2022-04-27 13:28:29,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:29,348 INFO L93 Difference]: Finished difference Result 229 states and 271 transitions. [2022-04-27 13:28:29,348 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:28:29,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:29,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:29,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:29,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:29,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 153 states have (on average 1.1764705882352942) internal successors, (180), 158 states have internal predecessors, (180), 47 states have call successors, (47), 30 states have call predecessors, (47), 28 states have return successors, (44), 40 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-27 13:28:29,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 271 transitions. [2022-04-27 13:28:29,353 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 271 transitions. Word has length 84 [2022-04-27 13:28:29,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:29,354 INFO L495 AbstractCegarLoop]: Abstraction has 229 states and 271 transitions. [2022-04-27 13:28:29,354 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.6363636363636362) internal successors, (40), 10 states have internal predecessors, (40), 8 states have call successors, (27), 2 states have call predecessors, (27), 1 states have return successors, (24), 8 states have call predecessors, (24), 8 states have call successors, (24) [2022-04-27 13:28:29,354 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 271 transitions. [2022-04-27 13:28:29,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:28:29,355 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:29,355 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:28:29,373 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-27 13:28:29,571 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-27 13:28:29,571 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:29,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:29,572 INFO L85 PathProgramCache]: Analyzing trace with hash 973212947, now seen corresponding path program 1 times [2022-04-27 13:28:29,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:29,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [673780506] [2022-04-27 13:28:29,572 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:29,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:29,587 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:29,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [373440597] [2022-04-27 13:28:29,588 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:29,588 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:29,588 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:29,599 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:28:29,602 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-27 13:28:29,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:29,639 INFO L263 TraceCheckSpWp]: Trace formula consists of 218 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:28:29,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:29,654 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:30,608 INFO L272 TraceCheckUtils]: 0: Hoare triple {13830#true} call ULTIMATE.init(); {13830#true} is VALID [2022-04-27 13:28:30,608 INFO L290 TraceCheckUtils]: 1: Hoare triple {13830#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13830#true} is VALID [2022-04-27 13:28:30,608 INFO L290 TraceCheckUtils]: 2: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,608 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13830#true} {13830#true} #96#return; {13830#true} is VALID [2022-04-27 13:28:30,608 INFO L272 TraceCheckUtils]: 4: Hoare triple {13830#true} call #t~ret8 := main(); {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 5: Hoare triple {13830#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L272 TraceCheckUtils]: 6: Hoare triple {13830#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 7: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 8: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13830#true} {13830#true} #80#return; {13830#true} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 11: Hoare triple {13830#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {13868#(<= 1 main_~p~0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {13868#(<= 1 main_~p~0)} assume !!(#t~post6 < 20);havoc #t~post6; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,610 INFO L272 TraceCheckUtils]: 14: Hoare triple {13868#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13830#true} {13868#(<= 1 main_~p~0)} #82#return; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,610 INFO L272 TraceCheckUtils]: 19: Hoare triple {13868#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 20: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 21: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,610 INFO L290 TraceCheckUtils]: 22: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,611 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13830#true} {13868#(<= 1 main_~p~0)} #84#return; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,611 INFO L272 TraceCheckUtils]: 24: Hoare triple {13868#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,611 INFO L290 TraceCheckUtils]: 26: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,611 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13830#true} {13868#(<= 1 main_~p~0)} #86#return; {13868#(<= 1 main_~p~0)} is VALID [2022-04-27 13:28:30,612 INFO L290 TraceCheckUtils]: 29: Hoare triple {13868#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,612 INFO L290 TraceCheckUtils]: 30: Hoare triple {13923#(<= 1 (div main_~p~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,612 INFO L290 TraceCheckUtils]: 31: Hoare triple {13923#(<= 1 (div main_~p~0 2))} assume !!(#t~post6 < 20);havoc #t~post6; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,612 INFO L272 TraceCheckUtils]: 32: Hoare triple {13923#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 33: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13830#true} {13923#(<= 1 (div main_~p~0 2))} #82#return; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,613 INFO L272 TraceCheckUtils]: 37: Hoare triple {13923#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 38: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 39: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L290 TraceCheckUtils]: 40: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,613 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {13830#true} {13923#(<= 1 (div main_~p~0 2))} #84#return; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,614 INFO L272 TraceCheckUtils]: 42: Hoare triple {13923#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,614 INFO L290 TraceCheckUtils]: 43: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,614 INFO L290 TraceCheckUtils]: 44: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,614 INFO L290 TraceCheckUtils]: 45: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,614 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {13830#true} {13923#(<= 1 (div main_~p~0 2))} #86#return; {13923#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:28:30,615 INFO L290 TraceCheckUtils]: 47: Hoare triple {13923#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,616 INFO L290 TraceCheckUtils]: 48: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post6 < 20);havoc #t~post6; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,616 INFO L272 TraceCheckUtils]: 50: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 51: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 52: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 53: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {13830#true} {13978#(<= 1 (div (div main_~p~0 2) 2))} #82#return; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,617 INFO L272 TraceCheckUtils]: 55: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 56: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 57: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,617 INFO L290 TraceCheckUtils]: 58: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,621 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {13830#true} {13978#(<= 1 (div (div main_~p~0 2) 2))} #84#return; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,621 INFO L272 TraceCheckUtils]: 60: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,621 INFO L290 TraceCheckUtils]: 61: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,621 INFO L290 TraceCheckUtils]: 62: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,621 INFO L290 TraceCheckUtils]: 63: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,621 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13830#true} {13978#(<= 1 (div (div main_~p~0 2) 2))} #86#return; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 65: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 66: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 67: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} assume !!(#t~post7 < 20);havoc #t~post7; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,622 INFO L272 TraceCheckUtils]: 68: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 69: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 70: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,622 INFO L290 TraceCheckUtils]: 71: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,623 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13830#true} {13978#(<= 1 (div (div main_~p~0 2) 2))} #88#return; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,623 INFO L272 TraceCheckUtils]: 73: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {13830#true} is VALID [2022-04-27 13:28:30,623 INFO L290 TraceCheckUtils]: 74: Hoare triple {13830#true} ~cond := #in~cond; {13830#true} is VALID [2022-04-27 13:28:30,623 INFO L290 TraceCheckUtils]: 75: Hoare triple {13830#true} assume !(0 == ~cond); {13830#true} is VALID [2022-04-27 13:28:30,623 INFO L290 TraceCheckUtils]: 76: Hoare triple {13830#true} assume true; {13830#true} is VALID [2022-04-27 13:28:30,623 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {13830#true} {13978#(<= 1 (div (div main_~p~0 2) 2))} #90#return; {13978#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 78: Hoare triple {13978#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L272 TraceCheckUtils]: 79: Hoare triple {13831#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 80: Hoare triple {13831#false} ~cond := #in~cond; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 81: Hoare triple {13831#false} assume !(0 == ~cond); {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 82: Hoare triple {13831#false} assume true; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L284 TraceCheckUtils]: 83: Hoare quadruple {13831#false} {13831#false} #92#return; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L272 TraceCheckUtils]: 84: Hoare triple {13831#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 85: Hoare triple {13831#false} ~cond := #in~cond; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 86: Hoare triple {13831#false} assume 0 == ~cond; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L290 TraceCheckUtils]: 87: Hoare triple {13831#false} assume !false; {13831#false} is VALID [2022-04-27 13:28:30,624 INFO L134 CoverageAnalysis]: Checked inductivity of 306 backedges. 84 proven. 0 refuted. 0 times theorem prover too weak. 222 trivial. 0 not checked. [2022-04-27 13:28:30,624 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:28:30,624 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:30,624 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [673780506] [2022-04-27 13:28:30,625 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:30,625 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [373440597] [2022-04-27 13:28:30,625 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [373440597] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:28:30,625 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:28:30,625 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:28:30,625 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [474744569] [2022-04-27 13:28:30,625 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:28:30,625 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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 88 [2022-04-27 13:28:30,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:30,626 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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:28:30,670 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:28:30,670 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:28:30,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:30,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:28:30,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:28:30,671 INFO L87 Difference]: Start difference. First operand 229 states and 271 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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:28:30,982 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:30,982 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-27 13:28:30,982 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:28:30,982 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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 88 [2022-04-27 13:28:30,982 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:28:30,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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:28:30,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:28:30,984 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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:28:30,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 94 transitions. [2022-04-27 13:28:30,985 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 94 transitions. [2022-04-27 13:28:31,069 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:31,072 INFO L225 Difference]: With dead ends: 249 [2022-04-27 13:28:31,072 INFO L226 Difference]: Without dead ends: 228 [2022-04-27 13:28:31,072 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 87 GetRequests, 84 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:28:31,073 INFO L413 NwaCegarLoop]: 63 mSDtfsCounter, 17 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 127 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:28:31,073 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 127 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:28:31,074 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 228 states. [2022-04-27 13:28:31,194 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 228 to 218. [2022-04-27 13:28:31,194 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:28:31,194 INFO L82 GeneralOperation]: Start isEquivalent. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:31,195 INFO L74 IsIncluded]: Start isIncluded. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:31,195 INFO L87 Difference]: Start difference. First operand 228 states. Second operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:31,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:31,199 INFO L93 Difference]: Finished difference Result 228 states and 267 transitions. [2022-04-27 13:28:31,199 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 267 transitions. [2022-04-27 13:28:31,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:31,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:31,199 INFO L74 IsIncluded]: Start isIncluded. First operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 228 states. [2022-04-27 13:28:31,200 INFO L87 Difference]: Start difference. First operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 228 states. [2022-04-27 13:28:31,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:28:31,203 INFO L93 Difference]: Finished difference Result 228 states and 267 transitions. [2022-04-27 13:28:31,203 INFO L276 IsEmpty]: Start isEmpty. Operand 228 states and 267 transitions. [2022-04-27 13:28:31,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:28:31,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:28:31,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:28:31,204 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:28:31,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 218 states, 147 states have (on average 1.1360544217687074) internal successors, (167), 150 states have internal predecessors, (167), 43 states have call successors, (43), 28 states have call predecessors, (43), 27 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-27 13:28:31,207 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 218 states to 218 states and 251 transitions. [2022-04-27 13:28:31,207 INFO L78 Accepts]: Start accepts. Automaton has 218 states and 251 transitions. Word has length 88 [2022-04-27 13:28:31,208 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:28:31,208 INFO L495 AbstractCegarLoop]: Abstraction has 218 states and 251 transitions. [2022-04-27 13:28:31,208 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 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:28:31,208 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 251 transitions. [2022-04-27 13:28:31,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-27 13:28:31,208 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:28:31,209 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 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:28:31,227 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-27 13:28:31,427 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-27 13:28:31,427 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:28:31,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:28:31,428 INFO L85 PathProgramCache]: Analyzing trace with hash -543991253, now seen corresponding path program 3 times [2022-04-27 13:28:31,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:28:31,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [218087731] [2022-04-27 13:28:31,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:28:31,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:28:31,437 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:28:31,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [303639446] [2022-04-27 13:28:31,438 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:28:31,438 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:28:31,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:28:31,439 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:28:31,439 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-27 13:28:31,896 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:28:31,896 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:28:31,898 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-27 13:28:31,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:28:31,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:28:33,799 INFO L272 TraceCheckUtils]: 0: Hoare triple {15191#true} call ULTIMATE.init(); {15191#true} is VALID [2022-04-27 13:28:33,799 INFO L290 TraceCheckUtils]: 1: Hoare triple {15191#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15191#true} is VALID [2022-04-27 13:28:33,799 INFO L290 TraceCheckUtils]: 2: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,799 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15191#true} {15191#true} #96#return; {15191#true} is VALID [2022-04-27 13:28:33,799 INFO L272 TraceCheckUtils]: 4: Hoare triple {15191#true} call #t~ret8 := main(); {15191#true} is VALID [2022-04-27 13:28:33,799 INFO L290 TraceCheckUtils]: 5: Hoare triple {15191#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4;~B~0 := #t~nondet5;havoc #t~nondet5; {15191#true} is VALID [2022-04-27 13:28:33,800 INFO L272 TraceCheckUtils]: 6: Hoare triple {15191#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,800 INFO L290 TraceCheckUtils]: 7: Hoare triple {15191#true} ~cond := #in~cond; {15217#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:28:33,800 INFO L290 TraceCheckUtils]: 8: Hoare triple {15217#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {15221#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:28:33,800 INFO L290 TraceCheckUtils]: 9: Hoare triple {15221#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {15221#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:28:33,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15221#(not (= |assume_abort_if_not_#in~cond| 0))} {15191#true} #80#return; {15228#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:28:33,801 INFO L290 TraceCheckUtils]: 11: Hoare triple {15228#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,801 INFO L290 TraceCheckUtils]: 12: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 20);havoc #t~post6; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,802 INFO L272 TraceCheckUtils]: 14: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,802 INFO L290 TraceCheckUtils]: 17: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,802 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {15191#true} {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #82#return; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,802 INFO L272 TraceCheckUtils]: 19: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 20: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 21: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 22: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15191#true} {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #84#return; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,803 INFO L272 TraceCheckUtils]: 24: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 25: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 26: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,803 INFO L290 TraceCheckUtils]: 27: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,804 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15191#true} {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #86#return; {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,805 INFO L290 TraceCheckUtils]: 29: Hoare triple {15232#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,805 INFO L290 TraceCheckUtils]: 30: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,805 INFO L290 TraceCheckUtils]: 31: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(#t~post6 < 20);havoc #t~post6; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,806 INFO L272 TraceCheckUtils]: 32: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 33: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 34: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 35: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {15191#true} {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #82#return; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,806 INFO L272 TraceCheckUtils]: 37: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,806 INFO L290 TraceCheckUtils]: 40: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,807 INFO L284 TraceCheckUtils]: 41: Hoare quadruple {15191#true} {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #84#return; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,807 INFO L272 TraceCheckUtils]: 42: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,807 INFO L290 TraceCheckUtils]: 43: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,807 INFO L290 TraceCheckUtils]: 44: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,807 INFO L290 TraceCheckUtils]: 45: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,807 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {15191#true} {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #86#return; {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,808 INFO L290 TraceCheckUtils]: 47: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,809 INFO L290 TraceCheckUtils]: 48: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,809 INFO L290 TraceCheckUtils]: 49: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post6 < 20);havoc #t~post6; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,809 INFO L272 TraceCheckUtils]: 50: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,809 INFO L290 TraceCheckUtils]: 51: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,809 INFO L290 TraceCheckUtils]: 52: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,809 INFO L290 TraceCheckUtils]: 53: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,810 INFO L284 TraceCheckUtils]: 54: Hoare quadruple {15191#true} {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #82#return; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,810 INFO L272 TraceCheckUtils]: 55: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,810 INFO L290 TraceCheckUtils]: 56: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,810 INFO L290 TraceCheckUtils]: 57: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,810 INFO L290 TraceCheckUtils]: 58: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,811 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {15191#true} {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #84#return; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,811 INFO L272 TraceCheckUtils]: 60: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,811 INFO L290 TraceCheckUtils]: 61: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,811 INFO L290 TraceCheckUtils]: 62: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,811 INFO L290 TraceCheckUtils]: 63: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,811 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {15191#true} {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #86#return; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,812 INFO L290 TraceCheckUtils]: 65: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,812 INFO L290 TraceCheckUtils]: 66: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,812 INFO L290 TraceCheckUtils]: 67: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(#t~post7 < 20);havoc #t~post7; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,813 INFO L272 TraceCheckUtils]: 68: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,813 INFO L290 TraceCheckUtils]: 69: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,813 INFO L290 TraceCheckUtils]: 70: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,813 INFO L290 TraceCheckUtils]: 71: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,813 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15191#true} {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #88#return; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,813 INFO L272 TraceCheckUtils]: 73: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,814 INFO L290 TraceCheckUtils]: 74: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,814 INFO L290 TraceCheckUtils]: 75: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,814 INFO L290 TraceCheckUtils]: 76: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,814 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {15191#true} {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #90#return; {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:28:33,815 INFO L290 TraceCheckUtils]: 78: Hoare triple {15342#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} 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); {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:28:33,816 INFO L290 TraceCheckUtils]: 79: Hoare triple {15287#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:33,817 INFO L290 TraceCheckUtils]: 80: Hoare triple {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:33,817 INFO L290 TraceCheckUtils]: 81: Hoare triple {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} assume !!(#t~post7 < 20);havoc #t~post7; {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:33,817 INFO L272 TraceCheckUtils]: 82: Hoare triple {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,817 INFO L290 TraceCheckUtils]: 83: Hoare triple {15191#true} ~cond := #in~cond; {15191#true} is VALID [2022-04-27 13:28:33,817 INFO L290 TraceCheckUtils]: 84: Hoare triple {15191#true} assume !(0 == ~cond); {15191#true} is VALID [2022-04-27 13:28:33,817 INFO L290 TraceCheckUtils]: 85: Hoare triple {15191#true} assume true; {15191#true} is VALID [2022-04-27 13:28:33,818 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {15191#true} {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #88#return; {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:33,818 INFO L272 TraceCheckUtils]: 87: Hoare triple {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {15191#true} is VALID [2022-04-27 13:28:33,818 INFO L290 TraceCheckUtils]: 88: Hoare triple {15191#true} ~cond := #in~cond; {15467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:33,818 INFO L290 TraceCheckUtils]: 89: Hoare triple {15467#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:33,818 INFO L290 TraceCheckUtils]: 90: Hoare triple {15471#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15471#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:33,819 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {15471#(not (= |__VERIFIER_assert_#in~cond| 0))} {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} #90#return; {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:28:33,820 INFO L290 TraceCheckUtils]: 92: Hoare triple {15439#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)))} 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); {15481#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))) (= main_~p~0 1))} is VALID [2022-04-27 13:28:33,821 INFO L290 TraceCheckUtils]: 93: Hoare triple {15481#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (<= 1 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 2 (mod main_~B~0 4294967296)))) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:28:33,821 INFO L290 TraceCheckUtils]: 94: Hoare triple {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} #t~post7 := ~counter~0;~counter~0 := 1 + #t~post7; {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:28:33,822 INFO L290 TraceCheckUtils]: 95: Hoare triple {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} assume !!(#t~post7 < 20);havoc #t~post7; {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} is VALID [2022-04-27 13:28:33,822 INFO L272 TraceCheckUtils]: 96: Hoare triple {15485#(and (= main_~r~0 (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {15495#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:33,822 INFO L290 TraceCheckUtils]: 97: Hoare triple {15495#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15499#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:33,823 INFO L290 TraceCheckUtils]: 98: Hoare triple {15499#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15192#false} is VALID [2022-04-27 13:28:33,823 INFO L290 TraceCheckUtils]: 99: Hoare triple {15192#false} assume !false; {15192#false} is VALID [2022-04-27 13:28:33,823 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 61 proven. 31 refuted. 0 times theorem prover too weak. 276 trivial. 0 not checked. [2022-04-27 13:28:33,823 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:29:12,682 WARN L232 SmtUtils]: Spent 17.18s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:30:12,482 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~B~0 4294967296))) (or (not (= c_main_~d~0 (* c_main_~p~0 .cse0))) (let ((.cse5 (= (mod c_main_~p~0 2) 0)) (.cse11 (div c_main_~p~0 2))) (let ((.cse9 (< c_main_~d~0 0)) (.cse8 (= (mod c_main_~d~0 2) 0)) (.cse4 (* (+ c_main_~q~0 c_main_~p~0 .cse11 1) .cse0)) (.cse1 (mod c_main_~A~0 4294967296)) (.cse6 (* .cse0 (+ c_main_~q~0 c_main_~p~0 .cse11))) (.cse2 (* (- 1) c_main_~d~0)) (.cse3 (* (- 1) (div c_main_~d~0 2))) (.cse7 (not .cse5))) (and (or (and (or (= .cse1 (+ (- 1) .cse2 c_main_~r~0 .cse3 .cse4)) .cse5) (or (= .cse1 (+ (- 1) .cse6 .cse2 c_main_~r~0 .cse3)) .cse7)) .cse8 (not .cse9)) (or (and .cse9 (not .cse8)) (let ((.cse10 (< c_main_~p~0 0))) (and (or (= .cse1 (+ .cse2 c_main_~r~0 .cse3 .cse4)) .cse5 (not .cse10)) (or (= .cse1 (+ .cse6 .cse2 c_main_~r~0 .cse3)) (and .cse7 .cse10)))))))))) is different from true [2022-04-27 13:31:39,463 WARN L232 SmtUtils]: Spent 38.89s on a formula simplification that was a NOOP. DAG size: 116 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)