/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_valuebound5.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:25:09,379 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:25:09,381 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:25:09,408 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:25:09,409 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:25:09,409 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:25:09,412 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:25:09,414 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:25:09,415 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:25:09,418 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:25:09,418 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:25:09,419 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:25:09,419 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:25:09,421 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:25:09,422 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:25:09,422 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:25:09,423 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:25:09,423 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:25:09,426 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:25:09,429 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:25:09,430 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:25:09,431 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:25:09,432 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:25:09,432 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:25:09,433 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:25:09,437 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:25:09,438 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:25:09,438 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:25:09,438 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:25:09,438 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:25:09,439 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:25:09,439 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:25:09,440 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:25:09,441 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:25:09,441 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:25:09,442 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:25:09,442 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:25:09,442 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:25:09,442 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:25:09,442 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:25:09,443 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:25:09,444 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:25:09,444 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:25:09,466 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:25:09,466 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:25:09,466 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:25:09,466 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:25:09,467 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:25:09,467 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:25:09,467 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:25:09,467 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:25:09,467 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:25:09,468 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:25:09,468 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:25:09,469 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:25:09,469 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:25:09,469 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:25:09,469 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:25:09,469 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:25:09,470 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:25:09,470 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:25:09,471 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:25:09,471 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:25:09,620 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:25:09,634 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:25:09,635 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:25:09,636 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:25:09,636 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:25:09,637 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound5.c [2022-04-27 13:25:09,682 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0245427a/fcb3b18eb115461ab8d454d3f93938f8/FLAG91bcfc74a [2022-04-27 13:25:10,035 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:25:10,036 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound5.c [2022-04-27 13:25:10,040 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0245427a/fcb3b18eb115461ab8d454d3f93938f8/FLAG91bcfc74a [2022-04-27 13:25:10,049 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f0245427a/fcb3b18eb115461ab8d454d3f93938f8 [2022-04-27 13:25:10,050 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:25:10,051 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:25:10,053 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:25:10,053 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:25:10,055 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:25:10,056 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,056 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1393e86e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10, skipping insertion in model container [2022-04-27 13:25:10,057 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,060 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:25:10,069 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:25:10,169 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_valuebound5.c[538,551] [2022-04-27 13:25:10,181 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:25:10,192 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:25:10,208 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_valuebound5.c[538,551] [2022-04-27 13:25:10,215 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:25:10,222 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:25:10,223 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10 WrapperNode [2022-04-27 13:25:10,223 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:25:10,223 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:25:10,223 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:25:10,223 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:25:10,229 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,229 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,233 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,233 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,237 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,240 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,240 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,242 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:25:10,242 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:25:10,242 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:25:10,242 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:25:10,246 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (1/1) ... [2022-04-27 13:25:10,255 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:25:10,263 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:10,272 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:25:10,279 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:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:25:10,295 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:25:10,295 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:25:10,295 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:25:10,296 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:25:10,333 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:25:10,334 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:25:10,495 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:25:10,500 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:25:10,500 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:25:10,501 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:25:10 BoogieIcfgContainer [2022-04-27 13:25:10,501 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:25:10,502 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:25:10,502 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:25:10,513 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:25:10,513 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:25:10" (1/3) ... [2022-04-27 13:25:10,513 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@710568a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:25:10, skipping insertion in model container [2022-04-27 13:25:10,513 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:10" (2/3) ... [2022-04-27 13:25:10,514 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@710568a5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:25:10, skipping insertion in model container [2022-04-27 13:25:10,514 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:25:10" (3/3) ... [2022-04-27 13:25:10,515 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound5.c [2022-04-27 13:25:10,523 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:25:10,523 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:25:10,550 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:25:10,555 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@21c45ea8, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@59730f22 [2022-04-27 13:25:10,555 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:25:10,560 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:25:10,565 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:25:10,565 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:10,565 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:10,566 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:10,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:10,569 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-27 13:25:10,578 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:10,579 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [204313715] [2022-04-27 13:25:10,580 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:10,580 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:10,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:10,738 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:10,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:10,751 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:25:10,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:25:10,751 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:25:10,752 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:10,753 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:10,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:25:10,758 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:10,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:10,766 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,766 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,766 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,767 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:25:10,767 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:10,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:10,778 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:25:10,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:10,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:25:10,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:25:10,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:25:10,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-27 13:25:10,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#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; {41#true} is VALID [2022-04-27 13:25:10,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:10,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,781 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:25:10,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-27 13:25:10,781 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:10,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,782 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,782 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,782 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:25:10,782 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:10,782 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:10,783 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:10,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:10,783 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:25:10,783 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-27 13:25:10,783 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:25:10,783 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-27 13:25:10,784 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-27 13:25:10,784 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-27 13:25:10,784 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:25:10,784 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:10,785 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:10,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [204313715] [2022-04-27 13:25:10,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [204313715] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:10,785 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:10,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:25:10,787 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1105362799] [2022-04-27 13:25:10,787 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:10,790 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:25:10,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:10,793 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:10,813 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:10,813 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:25:10,813 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:10,826 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:25:10,826 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:25:10,828 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:10,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:10,941 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-27 13:25:10,941 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:25:10,941 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:25:10,942 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:10,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:10,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:25:10,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:10,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:25:10,955 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-27 13:25:11,071 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:11,083 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:25:11,083 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:25:11,085 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:25:11,087 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:11,088 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:25:11,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:25:11,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-27 13:25:11,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:11,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,124 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,125 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:11,129 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:25:11,129 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:11,129 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:11,129 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:11,130 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:25:11,130 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:25:11,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:11,133 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:25:11,133 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:11,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:11,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:11,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:11,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:11,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-27 13:25:11,146 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-27 13:25:11,147 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:11,147 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-27 13:25:11,147 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:11,148 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:11,149 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:25:11,149 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:11,149 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:11,149 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:25:11,150 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:11,150 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:11,150 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-27 13:25:11,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:11,151 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1716923351] [2022-04-27 13:25:11,151 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:11,151 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:11,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,216 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:11,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:25:11,223 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,223 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:25:11,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:11,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,237 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:25:11,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:11,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:25:11,255 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:11,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,260 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,261 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,261 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,261 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:25:11,263 INFO L272 TraceCheckUtils]: 0: Hoare triple {275#true} call ULTIMATE.init(); {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:11,263 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:25:11,263 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,263 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:25:11,263 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-27 13:25:11,263 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#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; {275#true} is VALID [2022-04-27 13:25:11,263 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-27 13:25:11,264 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,265 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,265 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:25:11,265 INFO L272 TraceCheckUtils]: 17: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:11,265 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:11,265 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:11,265 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:11,265 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:25:11,266 INFO L290 TraceCheckUtils]: 22: Hoare triple {275#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:25:11,267 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:25:11,268 INFO L272 TraceCheckUtils]: 24: Hoare triple {292#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:11,268 INFO L290 TraceCheckUtils]: 25: Hoare triple {293#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:25:11,268 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-27 13:25:11,269 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-27 13:25:11,269 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:11,269 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:11,269 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1716923351] [2022-04-27 13:25:11,269 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1716923351] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:11,269 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:11,269 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:25:11,270 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364417964] [2022-04-27 13:25:11,270 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:11,271 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:25:11,271 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:11,271 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:11,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:11,287 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:11,288 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:11,289 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:11,289 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:25:11,290 INFO L87 Difference]: Start difference. First operand 33 states and 43 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:11,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:11,669 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:25:11,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:25:11,669 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:25:11,669 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:11,669 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:11,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:11,671 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:11,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:11,673 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:25:11,731 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:11,733 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:25:11,734 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:25:11,737 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 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:25:11,740 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:11,742 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:25:11,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:25:11,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:25:11,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:11,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,754 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,754 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,756 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:11,757 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:25:11,757 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:25:11,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:11,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:11,758 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:25:11,758 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:25:11,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:11,761 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:25:11,761 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:25:11,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:11,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:11,761 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:11,761 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:11,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:11,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:25:11,763 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-27 13:25:11,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:11,763 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:25:11,764 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, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:11,764 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:25:11,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:25:11,764 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:11,764 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:11,764 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:25:11,764 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:11,765 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:11,765 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-27 13:25:11,765 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:11,765 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2002594643] [2022-04-27 13:25:11,765 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:11,765 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:11,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,851 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:11,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:25:11,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,862 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:25:11,862 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:11,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,865 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,865 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,865 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,866 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:25:11,866 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:11,866 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:25:11,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:11,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,872 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,872 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,872 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,872 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:25:11,872 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 13:25:11,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:11,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,877 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:11,878 INFO L272 TraceCheckUtils]: 0: Hoare triple {517#true} call ULTIMATE.init(); {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:11,878 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:25:11,878 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,878 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:25:11,878 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {517#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; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,879 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:25:11,880 INFO L272 TraceCheckUtils]: 17: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:11,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,880 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,880 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,880 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:25:11,881 INFO L290 TraceCheckUtils]: 22: Hoare triple {517#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:11,881 INFO L290 TraceCheckUtils]: 23: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:11,881 INFO L272 TraceCheckUtils]: 24: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:11,881 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:11,881 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:11,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:11,882 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:11,882 INFO L272 TraceCheckUtils]: 29: Hoare triple {534#(= 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)); {539#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:11,883 INFO L290 TraceCheckUtils]: 30: Hoare triple {539#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {540#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:25:11,883 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-27 13:25:11,883 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-27 13:25:11,883 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:11,883 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:11,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2002594643] [2022-04-27 13:25:11,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2002594643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:11,884 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:11,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:25:11,884 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1892025597] [2022-04-27 13:25:11,884 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:11,884 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, (7), 3 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 33 [2022-04-27 13:25:11,884 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:11,885 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, (7), 3 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:25:11,899 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:11,899 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:11,899 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:11,900 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:11,900 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:25:11,900 INFO L87 Difference]: Start difference. First operand 37 states and 46 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, (7), 3 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:25:12,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:12,305 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-27 13:25:12,305 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:25:12,305 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, (7), 3 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 33 [2022-04-27 13:25:12,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:12,305 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, (7), 3 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:25:12,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:12,307 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, (7), 3 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:25:12,308 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:12,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:25:12,362 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:12,364 INFO L225 Difference]: With dead ends: 50 [2022-04-27 13:25:12,364 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 13:25:12,364 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 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:25:12,365 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:12,366 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:25:12,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 13:25:12,370 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 13:25:12,370 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:12,371 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:12,371 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:12,371 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:12,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:12,373 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:25:12,373 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:25:12,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:12,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:12,374 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:25:12,375 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:25:12,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:12,377 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:25:12,377 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:25:12,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:12,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:12,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:12,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:12,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:12,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-27 13:25:12,379 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-27 13:25:12,379 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:12,379 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-27 13:25:12,379 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, (7), 3 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:25:12,380 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-27 13:25:12,380 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:25:12,380 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:12,380 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:12,380 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:25:12,380 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:12,381 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:12,381 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-27 13:25:12,381 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:12,381 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1390618866] [2022-04-27 13:25:12,381 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:12,381 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:12,396 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:12,397 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [582608489] [2022-04-27 13:25:12,397 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:12,397 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:12,397 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:12,404 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:25:12,409 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:25:12,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:12,446 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:25:12,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:12,460 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:12,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-27 13:25:12,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#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); {781#true} is VALID [2022-04-27 13:25:12,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:12,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-27 13:25:12,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-27 13:25:12,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#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; {781#true} is VALID [2022-04-27 13:25:12,969 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:12,970 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {781#true} {781#true} #83#return; {781#true} is VALID [2022-04-27 13:25:12,970 INFO L272 TraceCheckUtils]: 17: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:12,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:12,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:12,973 INFO L290 TraceCheckUtils]: 20: Hoare triple {844#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:12,974 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {844#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #85#return; {851#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:25:12,974 INFO L290 TraceCheckUtils]: 22: Hoare triple {851#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {855#(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:25:12,975 INFO L290 TraceCheckUtils]: 23: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {855#(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:25:12,975 INFO L272 TraceCheckUtils]: 24: Hoare triple {855#(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)); {781#true} is VALID [2022-04-27 13:25:12,975 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:12,975 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:12,975 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:12,976 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {855#(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:25:12,976 INFO L272 TraceCheckUtils]: 29: Hoare triple {855#(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)); {781#true} is VALID [2022-04-27 13:25:12,976 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:12,976 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:12,976 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:12,987 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {855#(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:25:12,988 INFO L272 TraceCheckUtils]: 34: Hoare triple {855#(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)); {892#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:12,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {892#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {896#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:12,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {896#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-27 13:25:12,988 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-27 13:25:12,989 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 13:25:12,989 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:25:12,989 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:12,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1390618866] [2022-04-27 13:25:12,989 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:12,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [582608489] [2022-04-27 13:25:12,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [582608489] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:12,989 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:12,989 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 13:25:12,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1259700883] [2022-04-27 13:25:12,990 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:12,990 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:25:12,990 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:12,990 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:13,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:13,015 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:25:13,015 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:13,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:25:13,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:25:13,016 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:13,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:13,368 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-27 13:25:13,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:25:13,368 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:25:13,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:13,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:13,370 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:25:13,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:13,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:25:13,372 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-27 13:25:13,446 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:13,447 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:25:13,447 INFO L226 Difference]: Without dead ends: 55 [2022-04-27 13:25:13,448 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:13,448 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 23 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:13,449 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 180 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:25:13,449 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-27 13:25:13,462 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-27 13:25:13,462 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:13,463 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:13,463 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:13,463 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:13,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:13,465 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:25:13,466 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:13,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:13,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:13,467 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:25:13,467 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:25:13,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:13,469 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:25:13,469 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:13,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:13,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:13,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:13,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:13,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:13,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:25:13,472 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-27 13:25:13,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:13,472 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:25:13,472 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:13,472 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:13,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:25:13,473 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:13,473 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 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:25:13,496 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:25:13,689 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:13,689 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:13,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:13,690 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-27 13:25:13,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:13,690 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [559508739] [2022-04-27 13:25:13,690 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:13,690 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:13,706 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:13,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2009259439] [2022-04-27 13:25:13,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:13,707 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:13,707 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:13,708 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:25:13,712 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:25:13,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:13,742 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:25:13,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:13,751 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:14,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:25:14,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#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); {1200#true} is VALID [2022-04-27 13:25:14,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:25:14,772 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:25:14,773 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#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; {1200#true} is VALID [2022-04-27 13:25:14,773 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:14,773 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:14,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:14,776 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,776 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:25:14,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:25:14,776 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:14,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:14,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:14,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:14,778 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} {1200#true} #83#return; {1255#(<= (mod main_~B~0 4294967296) 5)} is VALID [2022-04-27 13:25:14,778 INFO L272 TraceCheckUtils]: 17: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:14,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:14,778 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:14,778 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,779 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1255#(<= (mod main_~B~0 4294967296) 5)} #85#return; {1255#(<= (mod main_~B~0 4294967296) 5)} is VALID [2022-04-27 13:25:14,779 INFO L290 TraceCheckUtils]: 22: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 5)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,780 INFO L290 TraceCheckUtils]: 23: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,780 INFO L272 TraceCheckUtils]: 24: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:14,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:14,780 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:14,780 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,781 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,781 INFO L272 TraceCheckUtils]: 29: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= 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)); {1200#true} is VALID [2022-04-27 13:25:14,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:14,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:14,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,781 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,782 INFO L272 TraceCheckUtils]: 34: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= 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)); {1200#true} is VALID [2022-04-27 13:25:14,782 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:14,782 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:14,782 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:14,783 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,784 INFO L290 TraceCheckUtils]: 40: Hoare triple {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:14,785 INFO L272 TraceCheckUtils]: 41: Hoare triple {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 5) (< 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)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:14,785 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:14,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:25:14,786 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:25:14,786 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 13:25:14,786 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:15,150 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:25:15,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:25:15,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:15,152 INFO L272 TraceCheckUtils]: 41: Hoare triple {1353#(= (+ 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)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:15,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:15,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {1360#(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); {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:15,154 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1360#(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:25:15,154 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,154 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,154 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,154 INFO L272 TraceCheckUtils]: 34: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1360#(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:25:15,155 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L272 TraceCheckUtils]: 29: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1360#(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:25:15,155 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,155 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,156 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,156 INFO L272 TraceCheckUtils]: 24: Hoare triple {1360#(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)); {1200#true} is VALID [2022-04-27 13:25:15,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1360#(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:25:15,161 INFO L290 TraceCheckUtils]: 22: Hoare triple {1200#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1360#(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:25:15,161 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1200#true} #85#return; {1200#true} is VALID [2022-04-27 13:25:15,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,164 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,166 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,166 INFO L272 TraceCheckUtils]: 17: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:15,166 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1200#true} {1200#true} #83#return; {1200#true} is VALID [2022-04-27 13:25:15,166 INFO L290 TraceCheckUtils]: 15: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,166 INFO L290 TraceCheckUtils]: 14: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,167 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#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; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#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); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:25:15,168 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:25:15,169 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:15,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [559508739] [2022-04-27 13:25:15,169 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:15,169 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2009259439] [2022-04-27 13:25:15,169 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2009259439] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:25:15,169 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:25:15,169 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-27 13:25:15,169 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [286496019] [2022-04-27 13:25:15,169 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:15,170 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:25:15,170 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:15,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:15,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:15,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:15,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:15,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:15,197 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:25:15,198 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:15,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:15,398 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-27 13:25:15,398 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:15,398 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:25:15,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:15,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:15,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:15,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:15,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:15,401 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:25:15,444 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:15,446 INFO L225 Difference]: With dead ends: 68 [2022-04-27 13:25:15,446 INFO L226 Difference]: Without dead ends: 66 [2022-04-27 13:25:15,446 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:25:15,447 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:15,447 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 128 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:25:15,447 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-27 13:25:15,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-27 13:25:15,464 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:15,464 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:15,464 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:15,465 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:15,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:15,467 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:25:15,467 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:25:15,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:15,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:15,468 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:25:15,468 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:25:15,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:15,470 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:25:15,470 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:25:15,470 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:15,470 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:15,470 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:15,470 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:15,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:15,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-27 13:25:15,472 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-27 13:25:15,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:15,473 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-27 13:25:15,473 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:15,473 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-27 13:25:15,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:25:15,473 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:15,474 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:15,490 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 13:25:15,690 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:25:15,690 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:15,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:15,690 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-27 13:25:15,690 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:15,691 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1228391159] [2022-04-27 13:25:15,691 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:15,691 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:15,700 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:15,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [124013440] [2022-04-27 13:25:15,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:15,700 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:15,700 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:15,701 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:25:15,702 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:25:15,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:15,735 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 20 conjunts are in the unsatisfiable core [2022-04-27 13:25:15,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:15,746 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:16,384 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#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); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#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; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,385 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:25:16,386 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,386 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:16,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:16,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:16,387 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} {1808#true} #85#return; {1878#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:25:16,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {1878#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1882#(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:25:16,388 INFO L290 TraceCheckUtils]: 23: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1882#(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:25:16,388 INFO L272 TraceCheckUtils]: 24: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:25:16,388 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,388 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,388 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1882#(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:25:16,388 INFO L272 TraceCheckUtils]: 29: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:25:16,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,390 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1882#(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:25:16,390 INFO L272 TraceCheckUtils]: 34: Hoare triple {1882#(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)); {1808#true} is VALID [2022-04-27 13:25:16,391 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,391 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,391 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,392 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1882#(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:25:16,393 INFO L290 TraceCheckUtils]: 39: Hoare triple {1882#(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; {1934#(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:25:16,393 INFO L290 TraceCheckUtils]: 40: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1934#(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:25:16,393 INFO L272 TraceCheckUtils]: 41: Hoare triple {1934#(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)); {1808#true} is VALID [2022-04-27 13:25:16,393 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,393 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,393 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,394 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1934#(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:25:16,394 INFO L272 TraceCheckUtils]: 46: Hoare triple {1934#(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)); {1808#true} is VALID [2022-04-27 13:25:16,394 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,394 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,394 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,395 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1934#(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:25:16,395 INFO L272 TraceCheckUtils]: 51: Hoare triple {1934#(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)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:16,396 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:16,396 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:25:16,396 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:25:16,396 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-27 13:25:16,396 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:16,687 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:25:16,687 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:25:16,688 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:16,688 INFO L272 TraceCheckUtils]: 51: Hoare triple {1991#(= 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)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:16,689 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,689 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,689 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,689 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,689 INFO L272 TraceCheckUtils]: 46: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,689 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,689 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,690 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,690 INFO L272 TraceCheckUtils]: 41: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,730 INFO L290 TraceCheckUtils]: 39: Hoare triple {1991#(= 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; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,731 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,731 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,731 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,731 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,731 INFO L272 TraceCheckUtils]: 34: Hoare triple {1991#(= 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)); {1808#true} is VALID [2022-04-27 13:25:16,731 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,731 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,731 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L272 TraceCheckUtils]: 29: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 22: Hoare triple {1808#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:16,733 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1808#true} {1808#true} #85#return; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,733 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#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; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#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); {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:25:16,734 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-27 13:25:16,734 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:16,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1228391159] [2022-04-27 13:25:16,735 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:16,735 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [124013440] [2022-04-27 13:25:16,735 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [124013440] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:25:16,735 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:25:16,735 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:25:16,735 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [719770358] [2022-04-27 13:25:16,735 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:16,735 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:25:16,736 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:16,736 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:16,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:16,764 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:25:16,765 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:16,765 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:25:16,765 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:16,765 INFO L87 Difference]: Start difference. First operand 64 states and 80 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:17,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:17,094 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-27 13:25:17,094 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:17,094 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:25:17,096 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:17,096 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:17,098 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:25:17,098 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:17,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:25:17,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-27 13:25:17,139 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:17,143 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:25:17,143 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 13:25:17,143 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 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:25:17,144 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:17,146 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:25:17,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 13:25:17,173 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-27 13:25:17,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:17,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:17,176 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:17,176 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:17,179 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:17,179 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:25:17,179 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:25:17,180 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:17,180 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:17,180 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:25:17,180 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:25:17,182 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:17,182 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:25:17,182 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:25:17,183 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:17,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:17,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:17,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:17,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:17,185 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-27 13:25:17,185 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-27 13:25:17,185 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:17,185 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-27 13:25:17,185 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, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:17,185 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-27 13:25:17,186 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 13:25:17,186 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:17,186 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 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, 1, 1, 1, 1, 1] [2022-04-27 13:25:17,204 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:25:17,402 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:25:17,402 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:17,403 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:17,403 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-27 13:25:17,403 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:17,403 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [873972165] [2022-04-27 13:25:17,403 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:17,403 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:17,411 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:17,412 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [450788744] [2022-04-27 13:25:17,412 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:17,412 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:17,412 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:17,413 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:25:17,413 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:25:17,451 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:17,452 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:25:17,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:17,463 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:19,685 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#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); {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #101#return; {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#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; {2512#true} is VALID [2022-04-27 13:25:19,685 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #81#return; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L272 TraceCheckUtils]: 17: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #85#return; {2512#true} is VALID [2022-04-27 13:25:19,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,688 INFO L272 TraceCheckUtils]: 24: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,688 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,688 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,688 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,689 INFO L272 TraceCheckUtils]: 29: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 30: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 31: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 32: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,689 INFO L272 TraceCheckUtils]: 34: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 35: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,690 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,690 INFO L272 TraceCheckUtils]: 41: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,690 INFO L290 TraceCheckUtils]: 42: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,690 INFO L290 TraceCheckUtils]: 43: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,690 INFO L290 TraceCheckUtils]: 44: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,691 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,691 INFO L272 TraceCheckUtils]: 46: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:19,691 INFO L290 TraceCheckUtils]: 47: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:19,691 INFO L290 TraceCheckUtils]: 48: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:19,691 INFO L290 TraceCheckUtils]: 49: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:19,692 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,692 INFO L290 TraceCheckUtils]: 51: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:19,693 INFO L272 TraceCheckUtils]: 52: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:19,693 INFO L290 TraceCheckUtils]: 53: Hoare triple {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2678#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:19,693 INFO L290 TraceCheckUtils]: 54: Hoare triple {2678#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-27 13:25:19,693 INFO L290 TraceCheckUtils]: 55: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-27 13:25:19,694 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 13:25:19,694 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:25:19,694 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:19,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [873972165] [2022-04-27 13:25:19,694 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:19,694 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [450788744] [2022-04-27 13:25:19,694 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [450788744] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:19,694 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:19,694 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:25:19,694 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294750193] [2022-04-27 13:25:19,694 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:19,694 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:25:19,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:19,695 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:19,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:19,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:25:19,719 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:19,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:25:19,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:25:19,720 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:19,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:19,940 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-27 13:25:19,940 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:19,940 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:25:19,941 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:19,941 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:19,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:19,942 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:19,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:19,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:25:19,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:19,986 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:25:19,986 INFO L226 Difference]: Without dead ends: 72 [2022-04-27 13:25:19,986 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 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:25:19,987 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 49 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:19,987 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 123 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 49 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:25:19,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-27 13:25:20,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-27 13:25:20,003 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:20,003 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:20,003 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:20,003 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:20,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:20,005 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:25:20,005 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:25:20,005 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:20,005 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:20,006 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:25:20,006 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:25:20,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:20,008 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:25:20,008 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:25:20,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:20,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:20,008 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:20,008 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:20,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:20,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-27 13:25:20,010 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-27 13:25:20,010 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:20,010 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-27 13:25:20,010 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), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:20,010 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-27 13:25:20,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:25:20,011 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:20,011 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 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, 1] [2022-04-27 13:25:20,029 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:25:20,225 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:25:20,226 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:20,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:20,226 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-27 13:25:20,226 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:20,226 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [610214721] [2022-04-27 13:25:20,226 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:20,226 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:20,239 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:20,239 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2056239095] [2022-04-27 13:25:20,239 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:20,239 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:20,239 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:20,240 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:25:20,241 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:25:20,297 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:20,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:25:20,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:20,313 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:24,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:25:24,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#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); {3048#true} is VALID [2022-04-27 13:25:24,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#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; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L272 TraceCheckUtils]: 17: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,329 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:25:24,330 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,330 INFO L290 TraceCheckUtils]: 23: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,330 INFO L272 TraceCheckUtils]: 24: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (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)); {3048#true} is VALID [2022-04-27 13:25:24,330 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,330 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,331 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,331 INFO L272 TraceCheckUtils]: 29: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (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)); {3048#true} is VALID [2022-04-27 13:25:24,331 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,331 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,331 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,332 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,332 INFO L272 TraceCheckUtils]: 34: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (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)); {3048#true} is VALID [2022-04-27 13:25:24,332 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,332 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,332 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,333 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,334 INFO L272 TraceCheckUtils]: 41: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,334 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,334 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,334 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,335 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,335 INFO L272 TraceCheckUtils]: 46: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,335 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,335 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,335 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,336 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,336 INFO L272 TraceCheckUtils]: 51: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,336 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,336 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,336 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,337 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,337 INFO L290 TraceCheckUtils]: 56: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,338 INFO L290 TraceCheckUtils]: 57: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,338 INFO L272 TraceCheckUtils]: 58: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,338 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:24,338 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:24,338 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:24,339 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,339 INFO L272 TraceCheckUtils]: 63: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:24,339 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3248#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:24,339 INFO L290 TraceCheckUtils]: 65: Hoare triple {3248#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:24,340 INFO L290 TraceCheckUtils]: 66: Hoare triple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:24,340 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:24,341 INFO L290 TraceCheckUtils]: 68: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) 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); {3262#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:24,342 INFO L290 TraceCheckUtils]: 69: Hoare triple {3262#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~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; {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (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))} is VALID [2022-04-27 13:25:24,343 INFO L290 TraceCheckUtils]: 70: Hoare triple {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (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))} assume !false; {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (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))} is VALID [2022-04-27 13:25:24,344 INFO L272 TraceCheckUtils]: 71: Hoare triple {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (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))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:24,344 INFO L290 TraceCheckUtils]: 72: Hoare triple {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3277#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:24,344 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:25:24,344 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:25:24,345 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-27 13:25:24,345 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:26:05,722 WARN L232 SmtUtils]: Spent 18.04s 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:27:41,575 WARN L232 SmtUtils]: Spent 22.10s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:28:49,586 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:28:49,586 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:28:49,586 INFO L290 TraceCheckUtils]: 72: Hoare triple {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3277#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:49,587 INFO L272 TraceCheckUtils]: 71: Hoare triple {3293#(= (+ 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)); {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:49,588 INFO L290 TraceCheckUtils]: 70: Hoare triple {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:28:49,589 INFO L290 TraceCheckUtils]: 69: Hoare triple {3300#(= (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; {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:28:49,601 INFO L290 TraceCheckUtils]: 68: Hoare triple {3304#(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); {3300#(= (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:28:49,603 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} {3308#(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)))))} #95#return; {3304#(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:28:49,604 INFO L290 TraceCheckUtils]: 66: Hoare triple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:49,604 INFO L290 TraceCheckUtils]: 65: Hoare triple {3318#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:49,604 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3318#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:28:49,604 INFO L272 TraceCheckUtils]: 63: Hoare triple {3308#(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)); {3048#true} is VALID [2022-04-27 13:28:49,605 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3308#(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)))))} #93#return; {3308#(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:28:49,605 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,605 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,605 INFO L272 TraceCheckUtils]: 58: Hoare triple {3308#(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)); {3048#true} is VALID [2022-04-27 13:28:49,606 INFO L290 TraceCheckUtils]: 57: Hoare triple {3308#(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 !false; {3308#(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:28:49,607 INFO L290 TraceCheckUtils]: 56: Hoare triple {3343#(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); {3308#(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:28:49,608 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3343#(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))} #91#return; {3343#(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:28:49,608 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,608 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,608 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,608 INFO L272 TraceCheckUtils]: 51: Hoare triple {3343#(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)); {3048#true} is VALID [2022-04-27 13:28:49,609 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3343#(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))} #89#return; {3343#(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:28:49,609 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,609 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,609 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,609 INFO L272 TraceCheckUtils]: 46: Hoare triple {3343#(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)); {3048#true} is VALID [2022-04-27 13:28:49,609 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3343#(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))} #87#return; {3343#(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:28:49,610 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,610 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,610 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,610 INFO L272 TraceCheckUtils]: 41: Hoare triple {3343#(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)); {3048#true} is VALID [2022-04-27 13:28:49,611 INFO L290 TraceCheckUtils]: 40: Hoare triple {3343#(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 !false; {3343#(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:28:49,615 INFO L290 TraceCheckUtils]: 39: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3343#(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:28:49,616 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:49,616 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,616 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,616 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,616 INFO L272 TraceCheckUtils]: 34: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,617 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:49,617 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,617 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,617 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,617 INFO L272 TraceCheckUtils]: 29: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,618 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:49,618 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,618 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,618 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,618 INFO L272 TraceCheckUtils]: 24: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,618 INFO L290 TraceCheckUtils]: 23: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:49,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:49,620 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L272 TraceCheckUtils]: 17: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#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; {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:28:49,620 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:28:49,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:49,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#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); {3048#true} is VALID [2022-04-27 13:28:49,621 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:28:49,621 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-27 13:28:49,621 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:49,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [610214721] [2022-04-27 13:28:49,621 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:49,621 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2056239095] [2022-04-27 13:28:49,621 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2056239095] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:49,621 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:49,621 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 18 [2022-04-27 13:28:49,622 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1850005236] [2022-04-27 13:28:49,622 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:49,622 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) Word has length 75 [2022-04-27 13:28:49,622 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:49,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:28:49,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:49,720 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:28:49,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:49,720 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:28:49,720 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=241, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:28:49,721 INFO L87 Difference]: Start difference. First operand 71 states and 85 transitions. Second operand has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:29:19,703 WARN L232 SmtUtils]: Spent 14.29s on a formula simplification. DAG size of input: 57 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:29:48,887 WARN L232 SmtUtils]: Spent 22.38s on a formula simplification that was a NOOP. DAG size: 70 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:29:59,519 WARN L232 SmtUtils]: Spent 6.01s on a formula simplification. DAG size of input: 58 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:30:06,212 WARN L232 SmtUtils]: Spent 5.62s on a formula simplification. DAG size of input: 63 DAG size of output: 29 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:30:07,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:07,765 INFO L93 Difference]: Finished difference Result 148 states and 194 transitions. [2022-04-27 13:30:07,766 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 13:30:07,766 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) Word has length 75 [2022-04-27 13:30:07,766 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:07,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:30:07,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 137 transitions. [2022-04-27 13:30:07,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:30:07,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 137 transitions. [2022-04-27 13:30:07,771 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 137 transitions. [2022-04-27 13:30:08,299 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:30:08,301 INFO L225 Difference]: With dead ends: 148 [2022-04-27 13:30:08,301 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 13:30:08,302 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 95.8s TimeCoverageRelationStatistics Valid=136, Invalid=514, Unknown=0, NotChecked=0, Total=650 [2022-04-27 13:30:08,302 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 66 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 467 mSolverCounterSat, 156 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 623 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 156 IncrementalHoareTripleChecker+Valid, 467 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:08,302 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 183 Invalid, 623 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [156 Valid, 467 Invalid, 0 Unknown, 0 Unchecked, 5.8s Time] [2022-04-27 13:30:08,303 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 13:30:08,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 103. [2022-04-27 13:30:08,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:08,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:08,345 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:08,345 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:08,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:08,348 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:30:08,348 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:30:08,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:08,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:08,349 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:30:08,349 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:30:08,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:08,352 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:30:08,352 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:30:08,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:08,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:08,353 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:08,353 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:08,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:08,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 127 transitions. [2022-04-27 13:30:08,356 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 127 transitions. Word has length 75 [2022-04-27 13:30:08,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:08,356 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 127 transitions. [2022-04-27 13:30:08,356 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:30:08,356 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 127 transitions. [2022-04-27 13:30:08,357 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 13:30:08,357 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:08,357 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 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:30:08,377 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-27 13:30:08,566 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:30:08,567 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:08,567 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:08,567 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-27 13:30:08,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:08,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [798976864] [2022-04-27 13:30:08,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:08,567 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:08,581 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:08,581 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [401585723] [2022-04-27 13:30:08,581 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:08,581 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:08,582 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:08,584 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:30:08,585 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:30:08,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:08,628 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:30:08,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:08,645 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:08,911 INFO L272 TraceCheckUtils]: 0: Hoare triple {4138#true} call ULTIMATE.init(); {4138#true} is VALID [2022-04-27 13:30:08,911 INFO L290 TraceCheckUtils]: 1: Hoare triple {4138#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); {4138#true} is VALID [2022-04-27 13:30:08,911 INFO L290 TraceCheckUtils]: 2: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,911 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4138#true} {4138#true} #101#return; {4138#true} is VALID [2022-04-27 13:30:08,911 INFO L272 TraceCheckUtils]: 4: Hoare triple {4138#true} call #t~ret6 := main(); {4138#true} is VALID [2022-04-27 13:30:08,911 INFO L290 TraceCheckUtils]: 5: Hoare triple {4138#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; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L272 TraceCheckUtils]: 6: Hoare triple {4138#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 7: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 8: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 9: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4138#true} {4138#true} #81#return; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 11: Hoare triple {4138#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L272 TraceCheckUtils]: 12: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 13: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4138#true} {4138#true} #83#return; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L272 TraceCheckUtils]: 17: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,912 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4138#true} {4138#true} #85#return; {4138#true} is VALID [2022-04-27 13:30:08,916 INFO L290 TraceCheckUtils]: 22: Hoare triple {4138#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,917 INFO L290 TraceCheckUtils]: 23: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,917 INFO L272 TraceCheckUtils]: 24: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,917 INFO L290 TraceCheckUtils]: 25: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,917 INFO L290 TraceCheckUtils]: 26: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,917 INFO L290 TraceCheckUtils]: 27: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,917 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,917 INFO L272 TraceCheckUtils]: 29: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 30: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 31: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 32: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,918 INFO L272 TraceCheckUtils]: 34: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,919 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,919 INFO L290 TraceCheckUtils]: 40: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,919 INFO L272 TraceCheckUtils]: 41: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 43: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 44: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,920 INFO L272 TraceCheckUtils]: 46: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 47: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 48: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,920 INFO L290 TraceCheckUtils]: 49: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,921 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,921 INFO L272 TraceCheckUtils]: 51: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,921 INFO L290 TraceCheckUtils]: 52: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,921 INFO L290 TraceCheckUtils]: 53: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,921 INFO L290 TraceCheckUtils]: 54: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,921 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,922 INFO L290 TraceCheckUtils]: 56: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,922 INFO L290 TraceCheckUtils]: 57: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,922 INFO L272 TraceCheckUtils]: 58: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,922 INFO L290 TraceCheckUtils]: 59: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,922 INFO L290 TraceCheckUtils]: 60: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,922 INFO L290 TraceCheckUtils]: 61: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,923 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,923 INFO L272 TraceCheckUtils]: 63: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,923 INFO L290 TraceCheckUtils]: 64: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,923 INFO L290 TraceCheckUtils]: 65: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,923 INFO L290 TraceCheckUtils]: 66: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,924 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,924 INFO L290 TraceCheckUtils]: 68: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~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); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:08,925 INFO L290 TraceCheckUtils]: 69: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:30:08,925 INFO L290 TraceCheckUtils]: 70: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:30:08,925 INFO L272 TraceCheckUtils]: 71: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,925 INFO L290 TraceCheckUtils]: 72: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,925 INFO L290 TraceCheckUtils]: 73: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,926 INFO L290 TraceCheckUtils]: 74: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,926 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4138#true} {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:30:08,926 INFO L272 TraceCheckUtils]: 76: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:08,926 INFO L290 TraceCheckUtils]: 77: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:08,926 INFO L290 TraceCheckUtils]: 78: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:08,926 INFO L290 TraceCheckUtils]: 79: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:08,927 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4138#true} {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #95#return; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:30:08,927 INFO L290 TraceCheckUtils]: 81: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4388#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-27 13:30:08,928 INFO L272 TraceCheckUtils]: 82: Hoare triple {4388#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:08,928 INFO L290 TraceCheckUtils]: 83: Hoare triple {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4396#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:08,929 INFO L290 TraceCheckUtils]: 84: Hoare triple {4396#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4139#false} is VALID [2022-04-27 13:30:08,929 INFO L290 TraceCheckUtils]: 85: Hoare triple {4139#false} assume !false; {4139#false} is VALID [2022-04-27 13:30:08,929 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-27 13:30:08,929 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:30,721 INFO L290 TraceCheckUtils]: 85: Hoare triple {4139#false} assume !false; {4139#false} is VALID [2022-04-27 13:30:30,722 INFO L290 TraceCheckUtils]: 84: Hoare triple {4396#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4139#false} is VALID [2022-04-27 13:30:30,722 INFO L290 TraceCheckUtils]: 83: Hoare triple {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4396#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:30,722 INFO L272 TraceCheckUtils]: 82: Hoare triple {4412#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:30,723 INFO L290 TraceCheckUtils]: 81: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4412#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:30:30,723 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4138#true} {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:30,723 INFO L290 TraceCheckUtils]: 79: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,723 INFO L290 TraceCheckUtils]: 78: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,723 INFO L290 TraceCheckUtils]: 77: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,724 INFO L272 TraceCheckUtils]: 76: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,724 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4138#true} {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:30,724 INFO L290 TraceCheckUtils]: 74: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,724 INFO L290 TraceCheckUtils]: 73: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,724 INFO L290 TraceCheckUtils]: 72: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,724 INFO L272 TraceCheckUtils]: 71: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,725 INFO L290 TraceCheckUtils]: 70: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:30,726 INFO L290 TraceCheckUtils]: 69: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:30,726 INFO L290 TraceCheckUtils]: 68: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~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); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,726 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,727 INFO L290 TraceCheckUtils]: 66: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,727 INFO L290 TraceCheckUtils]: 65: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,727 INFO L290 TraceCheckUtils]: 64: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,727 INFO L272 TraceCheckUtils]: 63: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,728 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,728 INFO L290 TraceCheckUtils]: 61: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,728 INFO L290 TraceCheckUtils]: 60: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,728 INFO L290 TraceCheckUtils]: 59: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,728 INFO L272 TraceCheckUtils]: 58: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,728 INFO L290 TraceCheckUtils]: 57: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,729 INFO L290 TraceCheckUtils]: 56: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,730 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 54: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 53: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 52: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L272 TraceCheckUtils]: 51: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 49: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 48: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L290 TraceCheckUtils]: 47: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,730 INFO L272 TraceCheckUtils]: 46: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,731 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,731 INFO L290 TraceCheckUtils]: 44: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,731 INFO L290 TraceCheckUtils]: 43: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,731 INFO L290 TraceCheckUtils]: 42: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,731 INFO L272 TraceCheckUtils]: 41: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,732 INFO L290 TraceCheckUtils]: 40: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,732 INFO L290 TraceCheckUtils]: 39: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,733 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,733 INFO L290 TraceCheckUtils]: 37: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L290 TraceCheckUtils]: 36: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L290 TraceCheckUtils]: 35: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L272 TraceCheckUtils]: 34: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,734 INFO L290 TraceCheckUtils]: 32: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L290 TraceCheckUtils]: 31: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L290 TraceCheckUtils]: 30: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,734 INFO L272 TraceCheckUtils]: 29: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,735 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,735 INFO L290 TraceCheckUtils]: 25: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,735 INFO L272 TraceCheckUtils]: 24: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 23: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 22: Hoare triple {4138#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:30,736 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4138#true} {4138#true} #85#return; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 20: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 19: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 18: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L272 TraceCheckUtils]: 17: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4138#true} {4138#true} #83#return; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,736 INFO L272 TraceCheckUtils]: 12: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {4138#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4138#true} {4138#true} #81#return; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {4138#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 5: Hoare triple {4138#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; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L272 TraceCheckUtils]: 4: Hoare triple {4138#true} call #t~ret6 := main(); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4138#true} {4138#true} #101#return; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 2: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L290 TraceCheckUtils]: 1: Hoare triple {4138#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); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L272 TraceCheckUtils]: 0: Hoare triple {4138#true} call ULTIMATE.init(); {4138#true} is VALID [2022-04-27 13:30:30,737 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-27 13:30:30,737 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:30,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [798976864] [2022-04-27 13:30:30,738 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:30,738 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [401585723] [2022-04-27 13:30:30,738 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [401585723] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:30,738 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:30,738 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-27 13:30:30,738 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1497155367] [2022-04-27 13:30:30,738 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:30,739 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:30:30,739 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:30,741 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:30,790 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:30,790 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:30:30,791 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:30,791 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:30:30,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:30:30,791 INFO L87 Difference]: Start difference. First operand 103 states and 127 transitions. Second operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:31,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:31,660 INFO L93 Difference]: Finished difference Result 116 states and 143 transitions. [2022-04-27 13:30:31,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:30:31,661 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:30:31,661 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:31,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:31,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:30:31,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:31,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:30:31,669 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-27 13:30:31,733 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:31,735 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:30:31,735 INFO L226 Difference]: Without dead ends: 114 [2022-04-27 13:30:31,736 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 162 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:30:31,736 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 17 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 171 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:31,736 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 205 Invalid, 171 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:30:31,736 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-27 13:30:31,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2022-04-27 13:30:31,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:31,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:31,783 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:31,783 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:31,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:31,786 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:30:31,786 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:30:31,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:31,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:31,786 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:30:31,786 INFO L87 Difference]: Start difference. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:30:31,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:31,789 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:30:31,789 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:30:31,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:31,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:31,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:31,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:31,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:31,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 134 transitions. [2022-04-27 13:30:31,791 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 134 transitions. Word has length 86 [2022-04-27 13:30:31,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:31,791 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 134 transitions. [2022-04-27 13:30:31,792 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:31,792 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-27 13:30:31,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:30:31,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:31,792 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 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] [2022-04-27 13:30:31,810 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:30:32,003 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:30:32,003 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:32,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:32,004 INFO L85 PathProgramCache]: Analyzing trace with hash -1353450239, now seen corresponding path program 2 times [2022-04-27 13:30:32,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:32,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [716721707] [2022-04-27 13:30:32,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:32,004 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:32,022 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:32,022 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1831157986] [2022-04-27 13:30:32,023 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:30:32,023 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:32,023 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:32,027 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:30:32,028 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:30:32,071 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:30:32,071 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:30:32,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:30:32,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:32,083 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:32,239 INFO L272 TraceCheckUtils]: 0: Hoare triple {5217#true} call ULTIMATE.init(); {5217#true} is VALID [2022-04-27 13:30:32,239 INFO L290 TraceCheckUtils]: 1: Hoare triple {5217#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); {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 2: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5217#true} {5217#true} #101#return; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L272 TraceCheckUtils]: 4: Hoare triple {5217#true} call #t~ret6 := main(); {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {5217#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; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L272 TraceCheckUtils]: 6: Hoare triple {5217#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 7: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 8: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 9: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5217#true} {5217#true} #81#return; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 11: Hoare triple {5217#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L272 TraceCheckUtils]: 12: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 13: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,240 INFO L290 TraceCheckUtils]: 14: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L290 TraceCheckUtils]: 15: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5217#true} {5217#true} #83#return; {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L272 TraceCheckUtils]: 17: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L290 TraceCheckUtils]: 18: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L290 TraceCheckUtils]: 19: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L290 TraceCheckUtils]: 20: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,257 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5217#true} {5217#true} #85#return; {5217#true} is VALID [2022-04-27 13:30:32,258 INFO L290 TraceCheckUtils]: 22: Hoare triple {5217#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,258 INFO L290 TraceCheckUtils]: 23: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,258 INFO L272 TraceCheckUtils]: 24: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,258 INFO L290 TraceCheckUtils]: 25: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,258 INFO L290 TraceCheckUtils]: 26: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,258 INFO L290 TraceCheckUtils]: 27: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #87#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,259 INFO L272 TraceCheckUtils]: 29: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L290 TraceCheckUtils]: 31: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L290 TraceCheckUtils]: 32: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #89#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,259 INFO L272 TraceCheckUtils]: 34: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,259 INFO L290 TraceCheckUtils]: 35: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,260 INFO L290 TraceCheckUtils]: 37: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,260 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #91#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,260 INFO L290 TraceCheckUtils]: 39: Hoare triple {5288#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {5340#(= main_~p~0 2)} assume !false; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,261 INFO L272 TraceCheckUtils]: 41: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 42: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 43: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 44: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #87#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,261 INFO L272 TraceCheckUtils]: 46: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 47: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 48: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,261 INFO L290 TraceCheckUtils]: 49: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,262 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #89#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,262 INFO L272 TraceCheckUtils]: 51: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,262 INFO L290 TraceCheckUtils]: 52: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,262 INFO L290 TraceCheckUtils]: 53: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,262 INFO L290 TraceCheckUtils]: 54: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,262 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #91#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,263 INFO L290 TraceCheckUtils]: 56: Hoare triple {5340#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,263 INFO L290 TraceCheckUtils]: 57: Hoare triple {5340#(= main_~p~0 2)} assume !false; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,263 INFO L272 TraceCheckUtils]: 58: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,263 INFO L290 TraceCheckUtils]: 59: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,263 INFO L290 TraceCheckUtils]: 60: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,263 INFO L290 TraceCheckUtils]: 61: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,263 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #93#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,263 INFO L272 TraceCheckUtils]: 63: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,264 INFO L290 TraceCheckUtils]: 64: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,264 INFO L290 TraceCheckUtils]: 65: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,264 INFO L290 TraceCheckUtils]: 66: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,264 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #95#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:32,264 INFO L290 TraceCheckUtils]: 68: Hoare triple {5340#(= 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); {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 69: Hoare triple {5288#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 70: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,265 INFO L272 TraceCheckUtils]: 71: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 72: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 73: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 74: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #93#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,265 INFO L272 TraceCheckUtils]: 76: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 77: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,265 INFO L290 TraceCheckUtils]: 78: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 79: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,266 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #95#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 81: Hoare triple {5288#(= 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); {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 82: Hoare triple {5218#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L272 TraceCheckUtils]: 84: Hoare triple {5218#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 85: Hoare triple {5218#false} ~cond := #in~cond; {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 86: Hoare triple {5218#false} assume 0 == ~cond; {5218#false} is VALID [2022-04-27 13:30:32,266 INFO L290 TraceCheckUtils]: 87: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:32,267 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:30:32,267 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 87: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 86: Hoare triple {5218#false} assume 0 == ~cond; {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 85: Hoare triple {5218#false} ~cond := #in~cond; {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L272 TraceCheckUtils]: 84: Hoare triple {5218#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 83: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 82: Hoare triple {5218#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5218#false} is VALID [2022-04-27 13:30:32,489 INFO L290 TraceCheckUtils]: 81: Hoare triple {5288#(= 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); {5218#false} is VALID [2022-04-27 13:30:32,490 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #95#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,490 INFO L290 TraceCheckUtils]: 79: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,490 INFO L290 TraceCheckUtils]: 78: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,490 INFO L290 TraceCheckUtils]: 77: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,490 INFO L272 TraceCheckUtils]: 76: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,490 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #93#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,490 INFO L290 TraceCheckUtils]: 74: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,490 INFO L290 TraceCheckUtils]: 73: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,491 INFO L290 TraceCheckUtils]: 72: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,491 INFO L272 TraceCheckUtils]: 71: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,491 INFO L290 TraceCheckUtils]: 70: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,491 INFO L290 TraceCheckUtils]: 69: Hoare triple {5288#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,492 INFO L290 TraceCheckUtils]: 68: Hoare triple {5542#(= (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); {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,492 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #95#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,492 INFO L290 TraceCheckUtils]: 66: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,492 INFO L290 TraceCheckUtils]: 65: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,492 INFO L290 TraceCheckUtils]: 64: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,492 INFO L272 TraceCheckUtils]: 63: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,493 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #93#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,493 INFO L290 TraceCheckUtils]: 61: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,493 INFO L290 TraceCheckUtils]: 60: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,493 INFO L290 TraceCheckUtils]: 59: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,493 INFO L272 TraceCheckUtils]: 58: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,493 INFO L290 TraceCheckUtils]: 57: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !false; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,493 INFO L290 TraceCheckUtils]: 56: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,494 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #91#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 54: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 53: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 52: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L272 TraceCheckUtils]: 51: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #89#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 49: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 48: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,494 INFO L290 TraceCheckUtils]: 47: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,495 INFO L272 TraceCheckUtils]: 46: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,507 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #87#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,507 INFO L290 TraceCheckUtils]: 44: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,507 INFO L290 TraceCheckUtils]: 43: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,507 INFO L290 TraceCheckUtils]: 42: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,507 INFO L272 TraceCheckUtils]: 41: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,508 INFO L290 TraceCheckUtils]: 40: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !false; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {5288#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:32,508 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #91#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 37: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 36: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 35: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L272 TraceCheckUtils]: 34: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #89#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 32: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 31: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L290 TraceCheckUtils]: 30: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,509 INFO L272 TraceCheckUtils]: 29: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #87#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 27: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 26: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 25: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L272 TraceCheckUtils]: 24: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 23: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {5217#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:32,510 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5217#true} {5217#true} #85#return; {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 20: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 19: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,510 INFO L290 TraceCheckUtils]: 18: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L272 TraceCheckUtils]: 17: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5217#true} {5217#true} #83#return; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L272 TraceCheckUtils]: 12: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {5217#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5217#true} {5217#true} #81#return; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 9: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 8: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 7: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L272 TraceCheckUtils]: 6: Hoare triple {5217#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 5: Hoare triple {5217#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; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L272 TraceCheckUtils]: 4: Hoare triple {5217#true} call #t~ret6 := main(); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5217#true} {5217#true} #101#return; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 2: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L290 TraceCheckUtils]: 1: Hoare triple {5217#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); {5217#true} is VALID [2022-04-27 13:30:32,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {5217#true} call ULTIMATE.init(); {5217#true} is VALID [2022-04-27 13:30:32,512 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:30:32,512 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:32,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [716721707] [2022-04-27 13:30:32,512 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:32,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831157986] [2022-04-27 13:30:32,512 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1831157986] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:32,512 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:32,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:30:32,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [338180371] [2022-04-27 13:30:32,514 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:32,515 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:30:32,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:32,516 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:32,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:32,572 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:30:32,572 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:32,572 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:30:32,572 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:32,572 INFO L87 Difference]: Start difference. First operand 107 states and 134 transitions. Second operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:32,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:32,778 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-27 13:30:32,779 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:30:32,779 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:30:32,779 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:32,779 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:32,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:30:32,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:32,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:30:32,781 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-04-27 13:30:32,849 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:30:32,851 INFO L225 Difference]: With dead ends: 130 [2022-04-27 13:30:32,851 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 13:30:32,851 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 171 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:30:32,852 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 1 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:32,852 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 131 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:30:32,852 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 13:30:32,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2022-04-27 13:30:32,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:32,899 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:32,899 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:32,899 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:32,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:32,902 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:30:32,902 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:32,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:32,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:32,902 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:30:32,902 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:30:32,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:32,904 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:30:32,904 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:32,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:32,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:32,905 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:32,905 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:32,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:32,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 140 transitions. [2022-04-27 13:30:32,907 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 140 transitions. Word has length 88 [2022-04-27 13:30:32,907 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:32,907 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 140 transitions. [2022-04-27 13:30:32,907 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:32,907 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:32,908 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:30:32,908 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:32,908 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 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, 1, 1] [2022-04-27 13:30:32,926 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:30:33,119 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:30:33,119 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:33,120 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:33,120 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-27 13:30:33,120 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:33,120 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [191863296] [2022-04-27 13:30:33,120 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:33,120 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:33,133 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:33,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1803592370] [2022-04-27 13:30:33,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:33,133 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:33,133 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:33,134 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:30:33,135 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:30:33,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:33,178 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:30:33,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:33,191 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:34,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {6319#true} call ULTIMATE.init(); {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#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); {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#true} {6319#true} #101#return; {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#true} call #t~ret6 := main(); {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#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; {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L272 TraceCheckUtils]: 6: Hoare triple {6319#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6319#true} {6319#true} #81#return; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 11: Hoare triple {6319#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L272 TraceCheckUtils]: 12: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6319#true} {6319#true} #83#return; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L272 TraceCheckUtils]: 17: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 18: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 19: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 20: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6319#true} {6319#true} #85#return; {6319#true} is VALID [2022-04-27 13:30:34,100 INFO L290 TraceCheckUtils]: 22: Hoare triple {6319#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,101 INFO L272 TraceCheckUtils]: 24: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 26: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,101 INFO L272 TraceCheckUtils]: 29: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 30: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 31: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,101 INFO L290 TraceCheckUtils]: 32: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,102 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,102 INFO L272 TraceCheckUtils]: 34: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,102 INFO L290 TraceCheckUtils]: 35: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,102 INFO L290 TraceCheckUtils]: 36: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,102 INFO L290 TraceCheckUtils]: 37: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,102 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,103 INFO L290 TraceCheckUtils]: 39: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:34,103 INFO L290 TraceCheckUtils]: 40: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:34,103 INFO L272 TraceCheckUtils]: 41: Hoare triple {6442#(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)); {6319#true} is VALID [2022-04-27 13:30:34,103 INFO L290 TraceCheckUtils]: 42: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L290 TraceCheckUtils]: 43: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L290 TraceCheckUtils]: 44: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:34,104 INFO L272 TraceCheckUtils]: 46: Hoare triple {6442#(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)); {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L290 TraceCheckUtils]: 47: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,104 INFO L290 TraceCheckUtils]: 49: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,105 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:34,105 INFO L272 TraceCheckUtils]: 51: Hoare triple {6442#(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)); {6319#true} is VALID [2022-04-27 13:30:34,105 INFO L290 TraceCheckUtils]: 52: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,105 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,105 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:34,106 INFO L290 TraceCheckUtils]: 56: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:34,106 INFO L290 TraceCheckUtils]: 57: Hoare triple {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:34,106 INFO L272 TraceCheckUtils]: 58: Hoare triple {6494#(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)); {6319#true} is VALID [2022-04-27 13:30:34,106 INFO L290 TraceCheckUtils]: 59: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,106 INFO L290 TraceCheckUtils]: 60: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,106 INFO L290 TraceCheckUtils]: 61: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,107 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6319#true} {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:34,107 INFO L272 TraceCheckUtils]: 63: Hoare triple {6494#(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)); {6319#true} is VALID [2022-04-27 13:30:34,107 INFO L290 TraceCheckUtils]: 64: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,107 INFO L290 TraceCheckUtils]: 65: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,107 INFO L290 TraceCheckUtils]: 66: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,107 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6319#true} {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:34,108 INFO L290 TraceCheckUtils]: 68: Hoare triple {6494#(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); {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,109 INFO L290 TraceCheckUtils]: 69: Hoare triple {6531#(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; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,109 INFO L290 TraceCheckUtils]: 70: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,109 INFO L272 TraceCheckUtils]: 71: Hoare triple {6531#(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)); {6319#true} is VALID [2022-04-27 13:30:34,109 INFO L290 TraceCheckUtils]: 72: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,109 INFO L290 TraceCheckUtils]: 73: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,109 INFO L290 TraceCheckUtils]: 74: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,110 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,110 INFO L272 TraceCheckUtils]: 76: Hoare triple {6531#(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)); {6319#true} is VALID [2022-04-27 13:30:34,110 INFO L290 TraceCheckUtils]: 77: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,110 INFO L290 TraceCheckUtils]: 78: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,110 INFO L290 TraceCheckUtils]: 79: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,110 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,111 INFO L290 TraceCheckUtils]: 81: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,111 INFO L272 TraceCheckUtils]: 82: Hoare triple {6531#(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)); {6319#true} is VALID [2022-04-27 13:30:34,111 INFO L290 TraceCheckUtils]: 83: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,111 INFO L290 TraceCheckUtils]: 84: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,111 INFO L290 TraceCheckUtils]: 85: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,113 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:34,113 INFO L272 TraceCheckUtils]: 87: Hoare triple {6531#(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)); {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:34,114 INFO L290 TraceCheckUtils]: 88: Hoare triple {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:34,114 INFO L290 TraceCheckUtils]: 89: Hoare triple {6593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6320#false} is VALID [2022-04-27 13:30:34,114 INFO L290 TraceCheckUtils]: 90: Hoare triple {6320#false} assume !false; {6320#false} is VALID [2022-04-27 13:30:34,114 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:30:34,114 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:34,621 INFO L290 TraceCheckUtils]: 90: Hoare triple {6320#false} assume !false; {6320#false} is VALID [2022-04-27 13:30:34,621 INFO L290 TraceCheckUtils]: 89: Hoare triple {6593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6320#false} is VALID [2022-04-27 13:30:34,621 INFO L290 TraceCheckUtils]: 88: Hoare triple {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:34,622 INFO L272 TraceCheckUtils]: 87: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:34,622 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,622 INFO L290 TraceCheckUtils]: 85: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,622 INFO L290 TraceCheckUtils]: 84: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L290 TraceCheckUtils]: 83: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L272 TraceCheckUtils]: 82: Hoare triple {6390#(= 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)); {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L290 TraceCheckUtils]: 81: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,623 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,623 INFO L290 TraceCheckUtils]: 79: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L290 TraceCheckUtils]: 78: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L290 TraceCheckUtils]: 77: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,623 INFO L272 TraceCheckUtils]: 76: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,624 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,624 INFO L290 TraceCheckUtils]: 74: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,624 INFO L290 TraceCheckUtils]: 73: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,624 INFO L290 TraceCheckUtils]: 72: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,624 INFO L272 TraceCheckUtils]: 71: Hoare triple {6390#(= 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)); {6319#true} is VALID [2022-04-27 13:30:34,624 INFO L290 TraceCheckUtils]: 70: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,624 INFO L290 TraceCheckUtils]: 69: Hoare triple {6390#(= 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; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,626 INFO L290 TraceCheckUtils]: 68: Hoare triple {6666#(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); {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:34,626 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6319#true} {6666#(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))))} #95#return; {6666#(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:30:34,626 INFO L290 TraceCheckUtils]: 66: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,626 INFO L290 TraceCheckUtils]: 65: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,626 INFO L290 TraceCheckUtils]: 64: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,626 INFO L272 TraceCheckUtils]: 63: Hoare triple {6666#(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)); {6319#true} is VALID [2022-04-27 13:30:34,627 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6319#true} {6666#(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))))} #93#return; {6666#(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:30:34,627 INFO L290 TraceCheckUtils]: 61: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,627 INFO L290 TraceCheckUtils]: 60: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,627 INFO L290 TraceCheckUtils]: 59: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,627 INFO L272 TraceCheckUtils]: 58: Hoare triple {6666#(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)); {6319#true} is VALID [2022-04-27 13:30:34,627 INFO L290 TraceCheckUtils]: 57: Hoare triple {6666#(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 !false; {6666#(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:30:34,628 INFO L290 TraceCheckUtils]: 56: Hoare triple {6703#(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); {6666#(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:30:34,629 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6319#true} {6703#(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)))))} #91#return; {6703#(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:30:34,629 INFO L290 TraceCheckUtils]: 54: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L290 TraceCheckUtils]: 52: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L272 TraceCheckUtils]: 51: Hoare triple {6703#(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)); {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6319#true} {6703#(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)))))} #89#return; {6703#(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:30:34,629 INFO L290 TraceCheckUtils]: 49: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L290 TraceCheckUtils]: 47: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,629 INFO L272 TraceCheckUtils]: 46: Hoare triple {6703#(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)); {6319#true} is VALID [2022-04-27 13:30:34,630 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6319#true} {6703#(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)))))} #87#return; {6703#(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:30:34,630 INFO L290 TraceCheckUtils]: 44: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,630 INFO L290 TraceCheckUtils]: 43: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,630 INFO L290 TraceCheckUtils]: 42: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,630 INFO L272 TraceCheckUtils]: 41: Hoare triple {6703#(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)); {6319#true} is VALID [2022-04-27 13:30:34,630 INFO L290 TraceCheckUtils]: 40: Hoare triple {6703#(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 !false; {6703#(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:30:34,631 INFO L290 TraceCheckUtils]: 39: Hoare triple {6755#(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; {6703#(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:30:34,632 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 37: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 36: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 35: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L272 TraceCheckUtils]: 34: Hoare triple {6755#(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)); {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 32: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 31: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L290 TraceCheckUtils]: 30: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,632 INFO L272 TraceCheckUtils]: 29: Hoare triple {6755#(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)); {6319#true} is VALID [2022-04-27 13:30:34,633 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:34,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,633 INFO L290 TraceCheckUtils]: 26: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,633 INFO L290 TraceCheckUtils]: 25: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,633 INFO L272 TraceCheckUtils]: 24: Hoare triple {6755#(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)); {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L290 TraceCheckUtils]: 23: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:34,634 INFO L290 TraceCheckUtils]: 22: Hoare triple {6319#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:34,634 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6319#true} {6319#true} #85#return; {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L272 TraceCheckUtils]: 17: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,634 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6319#true} {6319#true} #83#return; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 15: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L272 TraceCheckUtils]: 12: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 11: Hoare triple {6319#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6319#true} {6319#true} #81#return; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L272 TraceCheckUtils]: 6: Hoare triple {6319#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#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; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#true} call #t~ret6 := main(); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#true} {6319#true} #101#return; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#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); {6319#true} is VALID [2022-04-27 13:30:34,635 INFO L272 TraceCheckUtils]: 0: Hoare triple {6319#true} call ULTIMATE.init(); {6319#true} is VALID [2022-04-27 13:30:34,636 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:30:34,636 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:34,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [191863296] [2022-04-27 13:30:34,636 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:34,636 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803592370] [2022-04-27 13:30:34,636 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803592370] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:34,636 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:34,636 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:30:34,636 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1801537861] [2022-04-27 13:30:34,636 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:34,636 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:30:34,637 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:34,637 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:34,722 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:34,722 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:30:34,722 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:34,722 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:30:34,722 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:30:34,723 INFO L87 Difference]: Start difference. First operand 111 states and 140 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:36,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:36,338 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-04-27 13:30:36,338 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:30:36,338 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:30:36,338 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:36,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:36,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:30:36,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:36,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:30:36,341 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 13:30:36,412 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:36,413 INFO L225 Difference]: With dead ends: 119 [2022-04-27 13:30:36,413 INFO L226 Difference]: Without dead ends: 102 [2022-04-27 13:30:36,414 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:30:36,414 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:36,414 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 331 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:30:36,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-27 13:30:36,451 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-04-27 13:30:36,451 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:36,451 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:36,452 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:36,452 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:36,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:36,454 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:30:36,454 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:36,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:36,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:36,454 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:30:36,455 INFO L87 Difference]: Start difference. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:30:36,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:36,456 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:30:36,456 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:36,457 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:36,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:36,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:36,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:36,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:36,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 126 transitions. [2022-04-27 13:30:36,459 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 126 transitions. Word has length 91 [2022-04-27 13:30:36,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:36,459 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 126 transitions. [2022-04-27 13:30:36,459 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:36,459 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:36,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-27 13:30:36,460 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:36,460 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 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, 1] [2022-04-27 13:30:36,476 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:30:36,667 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:30:36,667 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:36,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:36,668 INFO L85 PathProgramCache]: Analyzing trace with hash -941589367, now seen corresponding path program 1 times [2022-04-27 13:30:36,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:36,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1463317075] [2022-04-27 13:30:36,668 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:36,668 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:36,683 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:36,683 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [397738064] [2022-04-27 13:30:36,683 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:36,683 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:36,683 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:36,684 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:30:36,685 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:30:36,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:36,722 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:30:36,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:36,739 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:37,796 INFO L272 TraceCheckUtils]: 0: Hoare triple {7405#true} call ULTIMATE.init(); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {7405#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); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7405#true} {7405#true} #101#return; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {7405#true} call #t~ret6 := main(); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {7405#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; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {7405#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7405#true} {7405#true} #81#return; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {7405#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L272 TraceCheckUtils]: 12: Hoare triple {7405#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7405#true} {7405#true} #83#return; {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L272 TraceCheckUtils]: 17: Hoare triple {7405#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 19: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 20: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7405#true} {7405#true} #85#return; {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 22: Hoare triple {7405#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 23: Hoare triple {7476#(<= 1 main_~p~0)} assume !false; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:37,798 INFO L272 TraceCheckUtils]: 24: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 25: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,798 INFO L290 TraceCheckUtils]: 27: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #87#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:37,799 INFO L272 TraceCheckUtils]: 29: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L290 TraceCheckUtils]: 32: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #89#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:37,799 INFO L272 TraceCheckUtils]: 34: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,799 INFO L290 TraceCheckUtils]: 35: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,800 INFO L290 TraceCheckUtils]: 37: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,800 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #91#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:37,801 INFO L290 TraceCheckUtils]: 39: Hoare triple {7476#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:37,801 INFO L290 TraceCheckUtils]: 40: Hoare triple {7528#(<= 1 (div main_~p~0 2))} assume !false; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:37,801 INFO L272 TraceCheckUtils]: 41: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,801 INFO L290 TraceCheckUtils]: 42: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,801 INFO L290 TraceCheckUtils]: 43: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,801 INFO L290 TraceCheckUtils]: 44: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #87#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:37,802 INFO L272 TraceCheckUtils]: 46: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 47: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 48: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 49: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #89#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:37,802 INFO L272 TraceCheckUtils]: 51: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 52: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 53: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,802 INFO L290 TraceCheckUtils]: 54: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,803 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #91#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:37,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {7528#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 57: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,804 INFO L272 TraceCheckUtils]: 58: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 59: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 60: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 61: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,804 INFO L272 TraceCheckUtils]: 63: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 64: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,804 INFO L290 TraceCheckUtils]: 66: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,805 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,805 INFO L272 TraceCheckUtils]: 68: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,805 INFO L290 TraceCheckUtils]: 69: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,805 INFO L290 TraceCheckUtils]: 70: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,805 INFO L290 TraceCheckUtils]: 71: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,805 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,806 INFO L290 TraceCheckUtils]: 73: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,806 INFO L290 TraceCheckUtils]: 74: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,806 INFO L272 TraceCheckUtils]: 75: Hoare triple {7580#(<= 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)); {7405#true} is VALID [2022-04-27 13:30:37,806 INFO L290 TraceCheckUtils]: 76: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,806 INFO L290 TraceCheckUtils]: 78: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,806 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,807 INFO L272 TraceCheckUtils]: 80: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 81: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 82: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 83: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:37,807 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 85: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {7406#false} is VALID [2022-04-27 13:30:37,807 INFO L272 TraceCheckUtils]: 86: Hoare triple {7406#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7406#false} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 87: Hoare triple {7406#false} ~cond := #in~cond; {7406#false} is VALID [2022-04-27 13:30:37,807 INFO L290 TraceCheckUtils]: 88: Hoare triple {7406#false} assume !(0 == ~cond); {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L290 TraceCheckUtils]: 89: Hoare triple {7406#false} assume true; {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7406#false} {7406#false} #97#return; {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L272 TraceCheckUtils]: 91: Hoare triple {7406#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L290 TraceCheckUtils]: 92: Hoare triple {7406#false} ~cond := #in~cond; {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L290 TraceCheckUtils]: 93: Hoare triple {7406#false} assume 0 == ~cond; {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L290 TraceCheckUtils]: 94: Hoare triple {7406#false} assume !false; {7406#false} is VALID [2022-04-27 13:30:37,808 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 234 trivial. 0 not checked. [2022-04-27 13:30:37,808 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:30:37,808 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:37,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1463317075] [2022-04-27 13:30:37,808 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:37,808 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [397738064] [2022-04-27 13:30:37,808 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [397738064] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:30:37,808 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:30:37,808 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:30:37,809 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1030469611] [2022-04-27 13:30:37,809 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:30:37,809 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:30:37,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:37,809 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:37,861 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:37,861 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:30:37,861 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:37,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:30:37,862 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:37,862 INFO L87 Difference]: Start difference. First operand 102 states and 126 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:38,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:38,072 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-04-27 13:30:38,072 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:30:38,072 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:30:38,073 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:38,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:38,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:30:38,074 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:38,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:30:38,075 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-27 13:30:38,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:38,147 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:30:38,147 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 13:30:38,148 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 91 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:30:38,148 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:38,148 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:30:38,148 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 13:30:38,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-27 13:30:38,196 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:38,196 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:38,196 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:38,196 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:38,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:38,199 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:30:38,199 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:38,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:38,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:38,199 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:30:38,199 INFO L87 Difference]: Start difference. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:30:38,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:38,201 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:30:38,201 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:38,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:38,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:38,201 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:38,202 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:38,202 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:38,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 127 transitions. [2022-04-27 13:30:38,203 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 127 transitions. Word has length 95 [2022-04-27 13:30:38,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:38,204 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 127 transitions. [2022-04-27 13:30:38,204 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:38,204 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:38,205 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-27 13:30:38,205 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:38,205 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 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, 1, 1] [2022-04-27 13:30:38,221 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:30:38,421 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:30:38,422 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:38,422 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:38,422 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 3 times [2022-04-27 13:30:38,422 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:38,422 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [617490718] [2022-04-27 13:30:38,422 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:38,422 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:38,431 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:38,431 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [368542560] [2022-04-27 13:30:38,431 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:30:38,431 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:38,431 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:38,436 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:30:38,436 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:30:38,524 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:30:38,533 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:30:38,534 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-27 13:30:38,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:38,551 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:42,159 INFO L272 TraceCheckUtils]: 0: Hoare triple {8218#true} call ULTIMATE.init(); {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L290 TraceCheckUtils]: 1: Hoare triple {8218#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); {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8218#true} {8218#true} #101#return; {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L272 TraceCheckUtils]: 4: Hoare triple {8218#true} call #t~ret6 := main(); {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L290 TraceCheckUtils]: 5: Hoare triple {8218#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; {8218#true} is VALID [2022-04-27 13:30:42,159 INFO L272 TraceCheckUtils]: 6: Hoare triple {8218#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,160 INFO L290 TraceCheckUtils]: 7: Hoare triple {8218#true} ~cond := #in~cond; {8244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:30:42,160 INFO L290 TraceCheckUtils]: 8: Hoare triple {8244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:42,160 INFO L290 TraceCheckUtils]: 9: Hoare triple {8248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:42,160 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8248#(not (= |assume_abort_if_not_#in~cond| 0))} {8218#true} #81#return; {8255#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-27 13:30:42,161 INFO L290 TraceCheckUtils]: 11: Hoare triple {8255#(<= (mod main_~A~0 4294967296) 5)} ~B~0 := #t~nondet5;havoc #t~nondet5; {8255#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-27 13:30:42,161 INFO L272 TraceCheckUtils]: 12: Hoare triple {8255#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,161 INFO L290 TraceCheckUtils]: 15: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,161 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8218#true} {8255#(<= (mod main_~A~0 4294967296) 5)} #83#return; {8255#(<= (mod main_~A~0 4294967296) 5)} is VALID [2022-04-27 13:30:42,161 INFO L272 TraceCheckUtils]: 17: Hoare triple {8255#(<= (mod main_~A~0 4294967296) 5)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,162 INFO L290 TraceCheckUtils]: 18: Hoare triple {8218#true} ~cond := #in~cond; {8244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:30:42,162 INFO L290 TraceCheckUtils]: 19: Hoare triple {8244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:42,162 INFO L290 TraceCheckUtils]: 20: Hoare triple {8248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:42,162 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8248#(not (= |assume_abort_if_not_#in~cond| 0))} {8255#(<= (mod main_~A~0 4294967296) 5)} #85#return; {8289#(and (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,163 INFO L290 TraceCheckUtils]: 22: Hoare triple {8289#(and (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,163 INFO L290 TraceCheckUtils]: 23: Hoare triple {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,163 INFO L272 TraceCheckUtils]: 24: Hoare triple {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,163 INFO L290 TraceCheckUtils]: 25: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,163 INFO L290 TraceCheckUtils]: 26: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,163 INFO L290 TraceCheckUtils]: 27: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,164 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8218#true} {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,164 INFO L272 TraceCheckUtils]: 29: Hoare triple {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,164 INFO L290 TraceCheckUtils]: 30: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,164 INFO L290 TraceCheckUtils]: 31: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,164 INFO L290 TraceCheckUtils]: 32: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,164 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8218#true} {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,165 INFO L272 TraceCheckUtils]: 34: Hoare triple {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,165 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8218#true} {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {8293#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,166 INFO L290 TraceCheckUtils]: 40: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !false; {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,166 INFO L272 TraceCheckUtils]: 41: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,166 INFO L290 TraceCheckUtils]: 42: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,166 INFO L290 TraceCheckUtils]: 43: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,167 INFO L290 TraceCheckUtils]: 44: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,167 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8218#true} {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #87#return; {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,167 INFO L272 TraceCheckUtils]: 46: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,167 INFO L290 TraceCheckUtils]: 47: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,167 INFO L290 TraceCheckUtils]: 48: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,167 INFO L290 TraceCheckUtils]: 49: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,168 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8218#true} {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #89#return; {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,168 INFO L272 TraceCheckUtils]: 51: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,168 INFO L290 TraceCheckUtils]: 52: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,168 INFO L290 TraceCheckUtils]: 53: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,168 INFO L290 TraceCheckUtils]: 54: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,168 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8218#true} {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} #91#return; {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,169 INFO L290 TraceCheckUtils]: 56: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,169 INFO L290 TraceCheckUtils]: 57: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,169 INFO L272 TraceCheckUtils]: 58: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,169 INFO L290 TraceCheckUtils]: 59: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,169 INFO L290 TraceCheckUtils]: 60: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,170 INFO L290 TraceCheckUtils]: 61: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,170 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8218#true} {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,170 INFO L272 TraceCheckUtils]: 63: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,170 INFO L290 TraceCheckUtils]: 64: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,170 INFO L290 TraceCheckUtils]: 65: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,170 INFO L290 TraceCheckUtils]: 66: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,173 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8218#true} {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,173 INFO L272 TraceCheckUtils]: 68: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,173 INFO L290 TraceCheckUtils]: 69: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,173 INFO L290 TraceCheckUtils]: 70: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,173 INFO L290 TraceCheckUtils]: 71: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,174 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8218#true} {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,174 INFO L290 TraceCheckUtils]: 73: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,174 INFO L290 TraceCheckUtils]: 74: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,175 INFO L272 TraceCheckUtils]: 75: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= 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)); {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 76: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 77: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 78: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8218#true} {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,175 INFO L272 TraceCheckUtils]: 80: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 81: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 82: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,175 INFO L290 TraceCheckUtils]: 83: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,176 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8218#true} {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:30:42,177 INFO L290 TraceCheckUtils]: 85: Hoare triple {8397#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= 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); {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} is VALID [2022-04-27 13:30:42,178 INFO L290 TraceCheckUtils]: 86: Hoare triple {8345#(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)) (<= (mod main_~A~0 4294967296) 5) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,179 INFO L290 TraceCheckUtils]: 87: Hoare triple {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} assume !false; {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,179 INFO L272 TraceCheckUtils]: 88: Hoare triple {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,179 INFO L290 TraceCheckUtils]: 89: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:42,179 INFO L290 TraceCheckUtils]: 90: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:42,179 INFO L290 TraceCheckUtils]: 91: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:42,180 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8218#true} {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} #93#return; {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,180 INFO L272 TraceCheckUtils]: 93: Hoare triple {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:42,180 INFO L290 TraceCheckUtils]: 94: Hoare triple {8218#true} ~cond := #in~cond; {8513#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:42,180 INFO L290 TraceCheckUtils]: 95: Hoare triple {8513#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:30:42,181 INFO L290 TraceCheckUtils]: 96: Hoare triple {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:30:42,181 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} #95#return; {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,182 INFO L290 TraceCheckUtils]: 98: Hoare triple {8488#(and (= main_~q~0 main_~p~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5))} 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); {8527#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (= main_~r~0 (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 1))} is VALID [2022-04-27 13:30:42,183 INFO L290 TraceCheckUtils]: 99: Hoare triple {8527#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 2) (= main_~r~0 (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296)))) (<= 1 (mod main_~B~0 4294967296)) (<= (mod main_~A~0 4294967296) 5) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8531#(and (<= 0 main_~r~0) (= (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296))) (+ main_~r~0 (div (* 2 (mod main_~B~0 4294967296)) 2))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,183 INFO L290 TraceCheckUtils]: 100: Hoare triple {8531#(and (<= 0 main_~r~0) (= (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296))) (+ main_~r~0 (div (* 2 (mod main_~B~0 4294967296)) 2))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1) (<= (mod main_~A~0 4294967296) 5))} assume !false; {8531#(and (<= 0 main_~r~0) (= (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296))) (+ main_~r~0 (div (* 2 (mod main_~B~0 4294967296)) 2))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1) (<= (mod main_~A~0 4294967296) 5))} is VALID [2022-04-27 13:30:42,184 INFO L272 TraceCheckUtils]: 101: Hoare triple {8531#(and (<= 0 main_~r~0) (= (+ (mod main_~A~0 4294967296) (* (- 2) (mod main_~B~0 4294967296))) (+ main_~r~0 (div (* 2 (mod main_~B~0 4294967296)) 2))) (<= 1 (mod main_~B~0 4294967296)) (= (+ (- 2) main_~q~0) 1) (<= (mod main_~A~0 4294967296) 5))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8538#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:42,184 INFO L290 TraceCheckUtils]: 102: Hoare triple {8538#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8542#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:42,185 INFO L290 TraceCheckUtils]: 103: Hoare triple {8542#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8219#false} is VALID [2022-04-27 13:30:42,185 INFO L290 TraceCheckUtils]: 104: Hoare triple {8219#false} assume !false; {8219#false} is VALID [2022-04-27 13:30:42,185 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 64 proven. 28 refuted. 0 times theorem prover too weak. 282 trivial. 0 not checked. [2022-04-27 13:30:42,185 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:31:19,865 WARN L232 SmtUtils]: Spent 14.82s on a formula simplification that was a NOOP. DAG size: 58 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:32:49,337 WARN L232 SmtUtils]: Spent 13.35s on a formula simplification that was a NOOP. DAG size: 60 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:33:15,070 WARN L833 $PredicateComparison]: unable to prove that (let ((.cse8 (mod c_main_~B~0 4294967296)) (.cse19 (div c_main_~p~0 2)) (.cse21 (< c_main_~d~0 0)) (.cse4 (= (mod c_main_~d~0 2) 0)) (.cse2 (div c_main_~d~0 2))) (let ((.cse3 (+ .cse2 1)) (.cse0 (and .cse21 (not .cse4))) (.cse13 (mod c_main_~A~0 4294967296)) (.cse9 (* .cse8 .cse19)) (.cse5 (= (mod c_main_~p~0 2) 0)) (.cse6 (< c_main_~p~0 0))) (and (let ((.cse20 (+ .cse19 1))) (let ((.cse1 (* .cse20 .cse8))) (or (and (or .cse0 (not (= .cse1 .cse2))) (or (not (= .cse3 .cse1)) .cse4)) .cse5 (not .cse6) (let ((.cse18 (div .cse20 2)) (.cse14 (= (mod .cse20 2) 0))) (let ((.cse15 (not .cse14)) (.cse16 (* (+ c_main_~q~0 .cse18 .cse19 1) .cse8)) (.cse10 (* (- 1) (div .cse1 2))) (.cse11 (* .cse8 (+ c_main_~q~0 .cse18 2 .cse19))) (.cse12 (* (- 1) .cse1)) (.cse7 (div (+ .cse8 .cse9) 2)) (.cse17 (= (mod .cse1 2) 0))) (and (or (not (<= (+ .cse7 .cse8 .cse9 1) c_main_~r~0)) (and (or (= (+ (- 1) .cse10 .cse11 c_main_~r~0 .cse12) .cse13) .cse14) (or .cse15 (= (+ (- 1) .cse10 c_main_~r~0 .cse16 .cse12) .cse13))) .cse17) (or (and (or .cse15 (= .cse13 (+ .cse10 c_main_~r~0 .cse16 .cse12))) (or (= .cse13 (+ .cse10 .cse11 c_main_~r~0 .cse12)) .cse14)) (not (<= (+ .cse7 .cse8 .cse9) c_main_~r~0)) (not .cse17)))))))) (or (and (or (not (= .cse3 .cse9)) .cse4 (not .cse21)) (or .cse0 (not (= .cse2 .cse9)))) (let ((.cse30 (= (mod .cse19 2) 0)) (.cse22 (div .cse9 2)) (.cse32 (div .cse19 2))) (let ((.cse31 (* .cse8 (+ c_main_~q~0 .cse19 .cse32 1))) (.cse27 (* (- 1) .cse22)) (.cse28 (* (- 1) .cse9)) (.cse29 (* .cse8 (+ c_main_~q~0 .cse19 .cse32))) (.cse25 (not .cse30)) (.cse23 (= (mod .cse9 2) 0)) (.cse24 (< .cse9 0))) (and (or (not (<= (+ .cse9 .cse22) c_main_~r~0)) (and (not .cse23) .cse24) (let ((.cse26 (< .cse19 0))) (and (or (and .cse25 .cse26) (= (+ .cse27 .cse28 .cse29 c_main_~r~0) .cse13)) (or (not .cse26) .cse30 (= .cse13 (+ .cse31 .cse27 .cse28 c_main_~r~0)))))) (or (and (or .cse30 (= .cse13 (+ (- 1) .cse31 .cse27 .cse28 c_main_~r~0))) (or (= (+ (- 1) .cse27 .cse28 .cse29 c_main_~r~0) .cse13) .cse25)) .cse23 (not (<= (+ .cse9 1 .cse22) c_main_~r~0)) (not .cse24))))) (and (not .cse5) .cse6))))) is different from false [2022-04-27 13:39:00,796 INFO L290 TraceCheckUtils]: 104: Hoare triple {8219#false} assume !false; {8219#false} is VALID [2022-04-27 13:39:00,796 INFO L290 TraceCheckUtils]: 103: Hoare triple {8542#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8219#false} is VALID [2022-04-27 13:39:00,797 INFO L290 TraceCheckUtils]: 102: Hoare triple {8538#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8542#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:39:00,797 INFO L272 TraceCheckUtils]: 101: Hoare triple {8558#(= (+ 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)); {8538#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:39:00,798 INFO L290 TraceCheckUtils]: 100: Hoare triple {8558#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {8558#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:39:00,800 INFO L290 TraceCheckUtils]: 99: Hoare triple {8565#(or (not (<= main_~d~0 main_~r~0)) (= (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; {8558#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:39:00,817 INFO L290 TraceCheckUtils]: 98: Hoare triple {8569#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~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); {8565#(or (not (<= main_~d~0 main_~r~0)) (= (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:39:00,819 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #95#return; {8569#(and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (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))) (not (<= (+ (div main_~d~0 2) 1) main_~r~0)) (= (mod main_~d~0 2) 0)))} is VALID [2022-04-27 13:39:00,820 INFO L290 TraceCheckUtils]: 96: Hoare triple {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:39:00,820 INFO L290 TraceCheckUtils]: 95: Hoare triple {8583#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8517#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:39:00,820 INFO L290 TraceCheckUtils]: 94: Hoare triple {8218#true} ~cond := #in~cond; {8583#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:39:00,820 INFO L272 TraceCheckUtils]: 93: Hoare triple {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (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)); {8218#true} is VALID [2022-04-27 13:39:00,821 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8218#true} {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #93#return; {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:39:00,821 INFO L290 TraceCheckUtils]: 91: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:00,821 INFO L290 TraceCheckUtils]: 90: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:00,821 INFO L290 TraceCheckUtils]: 89: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:00,821 INFO L272 TraceCheckUtils]: 88: Hoare triple {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (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)); {8218#true} is VALID [2022-04-27 13:39:00,824 INFO L290 TraceCheckUtils]: 87: Hoare triple {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:39:00,848 INFO L290 TraceCheckUtils]: 86: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8573#(or (and (or (not (<= (div main_~d~0 2) main_~r~0)) (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)))) (or (not (< main_~d~0 0)) (not (<= (+ (div main_~d~0 2) 1) main_~r~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)))))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:39:01,075 INFO L290 TraceCheckUtils]: 85: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~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); {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,076 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8218#true} {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #95#return; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,076 INFO L290 TraceCheckUtils]: 83: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,076 INFO L290 TraceCheckUtils]: 82: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,076 INFO L290 TraceCheckUtils]: 81: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,076 INFO L272 TraceCheckUtils]: 80: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,077 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8218#true} {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #93#return; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,077 INFO L290 TraceCheckUtils]: 78: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,078 INFO L290 TraceCheckUtils]: 77: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,078 INFO L290 TraceCheckUtils]: 76: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,078 INFO L272 TraceCheckUtils]: 75: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,081 INFO L290 TraceCheckUtils]: 74: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !false; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,085 INFO L290 TraceCheckUtils]: 73: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !(~r~0 >= ~d~0); {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,086 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8218#true} {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #91#return; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,086 INFO L290 TraceCheckUtils]: 71: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,086 INFO L290 TraceCheckUtils]: 70: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,086 INFO L290 TraceCheckUtils]: 69: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,086 INFO L272 TraceCheckUtils]: 68: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,087 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8218#true} {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #89#return; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,087 INFO L290 TraceCheckUtils]: 66: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,087 INFO L290 TraceCheckUtils]: 65: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,087 INFO L290 TraceCheckUtils]: 64: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,087 INFO L272 TraceCheckUtils]: 63: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,088 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8218#true} {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} #87#return; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,088 INFO L290 TraceCheckUtils]: 61: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,088 INFO L290 TraceCheckUtils]: 60: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,088 INFO L290 TraceCheckUtils]: 59: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,088 INFO L272 TraceCheckUtils]: 58: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,092 INFO L290 TraceCheckUtils]: 57: Hoare triple {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} assume !false; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,157 INFO L290 TraceCheckUtils]: 56: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8612#(and (or (and (or (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296) 1) main_~r~0)) (and (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (mod main_~A~0 4294967296))) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))))) (or (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (or (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2)) main_~r~0 (* (- 1) (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (= (mod (+ (div main_~p~0 2) 1) 2) 0))) (not (<= (+ (div (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) 2) (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0)) (not (= (mod (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) 2) 0)))) (not (< main_~p~0 0)) (and (or (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (+ (div main_~d~0 2) 1))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (+ (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (div main_~d~0 2))))) (= (mod main_~p~0 2) 0)) (or (and (or (not (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)) (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (- 1) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (not (= (mod (div main_~p~0 2) 2) 0)))) (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0) (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 1 (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0))) (or (not (<= (+ (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0)) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2)))) (mod main_~A~0 4294967296))) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2)) main_~r~0 (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)) (* (- 1) (* (mod main_~B~0 4294967296) (div main_~p~0 2))))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0)))) (and (not (= (mod (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 2) 0)) (< (* (mod main_~B~0 4294967296) (div main_~p~0 2)) 0)))) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (div main_~d~0 2)))) (or (not (= (* (mod main_~B~0 4294967296) (div main_~p~0 2)) (+ (div main_~d~0 2) 1))) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))} is VALID [2022-04-27 13:39:01,158 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8218#true} {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #91#return; {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,158 INFO L290 TraceCheckUtils]: 54: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,158 INFO L290 TraceCheckUtils]: 53: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,158 INFO L290 TraceCheckUtils]: 52: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,158 INFO L272 TraceCheckUtils]: 51: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,160 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8218#true} {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #89#return; {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,160 INFO L272 TraceCheckUtils]: 46: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,160 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8218#true} {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #87#return; {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,161 INFO L290 TraceCheckUtils]: 44: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,161 INFO L290 TraceCheckUtils]: 43: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,161 INFO L290 TraceCheckUtils]: 42: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,161 INFO L272 TraceCheckUtils]: 41: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,163 INFO L290 TraceCheckUtils]: 40: Hoare triple {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !false; {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,169 INFO L290 TraceCheckUtils]: 39: Hoare triple {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* 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; {8608#(or (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (and (or (and (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)))) (= (mod main_~p~0 2) 0)) (or (= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)))) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)))) (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (not (<= (+ main_~d~0 (div main_~d~0 2)) main_~r~0))) (or (and (or (= (+ (* (mod main_~B~0 4294967296) (+ main_~q~0 main_~p~0 (div main_~p~0 2) 1)) (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod main_~p~0 2) 0)) (or (= (+ (- 1) (* (- 1) main_~d~0) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 main_~p~0 (div main_~p~0 2)) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (not (= (mod main_~p~0 2) 0)))) (not (<= (+ main_~d~0 (div main_~d~0 2) 1) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:39:01,169 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8218#true} {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} #91#return; {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} is VALID [2022-04-27 13:39:01,169 INFO L290 TraceCheckUtils]: 37: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,169 INFO L290 TraceCheckUtils]: 35: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,170 INFO L272 TraceCheckUtils]: 34: Hoare triple {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* 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)); {8218#true} is VALID [2022-04-27 13:39:01,170 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8218#true} {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} #89#return; {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} is VALID [2022-04-27 13:39:01,170 INFO L290 TraceCheckUtils]: 32: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,170 INFO L290 TraceCheckUtils]: 31: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,170 INFO L290 TraceCheckUtils]: 30: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,170 INFO L272 TraceCheckUtils]: 29: Hoare triple {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,171 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8218#true} {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} #87#return; {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} is VALID [2022-04-27 13:39:01,171 INFO L290 TraceCheckUtils]: 27: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,171 INFO L290 TraceCheckUtils]: 26: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,171 INFO L290 TraceCheckUtils]: 25: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,171 INFO L272 TraceCheckUtils]: 24: Hoare triple {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,171 INFO L290 TraceCheckUtils]: 23: Hoare triple {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} assume !false; {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 22: Hoare triple {8218#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8751#(or (= (+ (* (mod main_~B~0 4294967296) (+ (div (* main_~p~0 2) 2) (* main_~p~0 2) main_~q~0)) (* (- 1) (* (* main_~p~0 2) (mod main_~B~0 4294967296))) (* (- 1) (div (* (* main_~p~0 2) (mod main_~B~0 4294967296)) 2)) main_~r~0) (mod main_~A~0 4294967296)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (not (<= (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) main_~r~0)))} is VALID [2022-04-27 13:39:01,172 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8218#true} {8218#true} #85#return; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 20: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 19: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 18: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L272 TraceCheckUtils]: 17: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8218#true} {8218#true} #83#return; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 15: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 14: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 13: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L272 TraceCheckUtils]: 12: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 5 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {8218#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8218#true} {8218#true} #81#return; {8218#true} is VALID [2022-04-27 13:39:01,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L290 TraceCheckUtils]: 8: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {8218#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 5 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {8218#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; {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {8218#true} call #t~ret6 := main(); {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8218#true} {8218#true} #101#return; {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {8218#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); {8218#true} is VALID [2022-04-27 13:39:01,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {8218#true} call ULTIMATE.init(); {8218#true} is VALID [2022-04-27 13:39:01,174 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 61 proven. 9 refuted. 0 times theorem prover too weak. 288 trivial. 16 not checked. [2022-04-27 13:39:01,174 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:39:01,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [617490718] [2022-04-27 13:39:01,174 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:39:01,174 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [368542560] [2022-04-27 13:39:01,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [368542560] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:39:01,174 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:39:01,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13] total 24 [2022-04-27 13:39:01,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [549334283] [2022-04-27 13:39:01,175 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:39:01,175 INFO L78 Accepts]: Start accepts. Automaton has has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 21 states have internal predecessors, (50), 12 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (33), 12 states have call predecessors, (33), 10 states have call successors, (33) Word has length 105 [2022-04-27 13:39:01,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:39:01,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 21 states have internal predecessors, (50), 12 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (33), 12 states have call predecessors, (33), 10 states have call successors, (33) [2022-04-27 13:39:01,665 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:39:01,665 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 24 states [2022-04-27 13:39:01,665 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:39:01,666 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2022-04-27 13:39:01,666 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=414, Unknown=3, NotChecked=42, Total=552 [2022-04-27 13:39:01,666 INFO L87 Difference]: Start difference. First operand 104 states and 127 transitions. Second operand has 24 states, 24 states have (on average 2.0833333333333335) internal successors, (50), 21 states have internal predecessors, (50), 12 states have call successors, (35), 2 states have call predecessors, (35), 3 states have return successors, (33), 12 states have call predecessors, (33), 10 states have call successors, (33) [2022-04-27 13:39:06,361 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:39:07,755 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.29s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:39:11,360 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:39:13,548 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:39:16,145 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.11s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:39:19,265 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 []