/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_valuebound10.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:22:40,039 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:22:40,040 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:22:40,065 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:22:40,066 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:22:40,067 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:22:40,072 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:22:40,076 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:22:40,077 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:22:40,080 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:22:40,081 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:22:40,082 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:22:40,082 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:22:40,083 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:22:40,084 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:22:40,085 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:22:40,085 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:22:40,086 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:22:40,089 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:22:40,092 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:22:40,093 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:22:40,094 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:22:40,095 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:22:40,095 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:22:40,096 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:22:40,100 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:22:40,101 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:22:40,101 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:22:40,101 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:22:40,102 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:22:40,102 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:22:40,102 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:22:40,103 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:22:40,103 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:22:40,103 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:22:40,104 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:22:40,104 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:22:40,104 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:22:40,105 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:22:40,105 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:22:40,105 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:22:40,108 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:22:40,108 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:22:40,131 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:22:40,131 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:22:40,132 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:22:40,132 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:22:40,132 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:22:40,132 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:22:40,132 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:22:40,133 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:22:40,133 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:22:40,134 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:40,134 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:22:40,134 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:22:40,135 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:22:40,135 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:22:40,135 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 13:22:40,329 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:22:40,355 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:22:40,357 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:22:40,357 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:22:40,358 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:22:40,359 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound10.c [2022-04-27 13:22:40,406 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9107a8ee7/c14ba0d66026439a8592e3fad208a82b/FLAG2c0912d32 [2022-04-27 13:22:40,679 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:22:40,679 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound10.c [2022-04-27 13:22:40,683 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9107a8ee7/c14ba0d66026439a8592e3fad208a82b/FLAG2c0912d32 [2022-04-27 13:22:41,126 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/9107a8ee7/c14ba0d66026439a8592e3fad208a82b [2022-04-27 13:22:41,127 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:22:41,128 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:22:41,130 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:41,130 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:22:41,132 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:22:41,133 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,134 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4a1bfbaa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41, skipping insertion in model container [2022-04-27 13:22:41,134 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,138 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:22:41,150 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:22:41,251 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_valuebound10.c[538,551] [2022-04-27 13:22:41,264 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:41,269 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:22:41,276 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_valuebound10.c[538,551] [2022-04-27 13:22:41,283 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:41,291 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:22:41,291 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41 WrapperNode [2022-04-27 13:22:41,291 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:41,292 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:22:41,292 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:22:41,292 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:22:41,298 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,298 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,302 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,302 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,306 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,309 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,310 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,311 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:22:41,311 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:22:41,311 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:22:41,311 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:22:41,312 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (1/1) ... [2022-04-27 13:22:41,317 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:41,325 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:41,333 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 13:22:41,359 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 13:22:41,369 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:22:41,369 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:22:41,369 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:22:41,370 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:22:41,371 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:22:41,371 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:22:41,371 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:22:41,371 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:22:41,371 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:22:41,371 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:22:41,371 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:22:41,372 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:22:41,417 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:22:41,418 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:22:41,578 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:22:41,583 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:22:41,583 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:22:41,594 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:41 BoogieIcfgContainer [2022-04-27 13:22:41,594 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:22:41,603 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:22:41,603 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:22:41,605 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:22:41,606 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:22:41" (1/3) ... [2022-04-27 13:22:41,606 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26b39c51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:41, skipping insertion in model container [2022-04-27 13:22:41,606 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:41" (2/3) ... [2022-04-27 13:22:41,606 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@26b39c51 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:41, skipping insertion in model container [2022-04-27 13:22:41,607 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:41" (3/3) ... [2022-04-27 13:22:41,607 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound10.c [2022-04-27 13:22:41,620 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:22:41,621 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:22:41,651 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:22:41,656 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@44ff0603, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@22a5c6fb [2022-04-27 13:22:41,657 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:22:41,666 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:22:41,671 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:41,671 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:41,672 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:22:41,672 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:41,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:41,675 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-27 13:22:41,685 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:41,686 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1083348882] [2022-04-27 13:22:41,686 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:41,687 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:41,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,834 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:41,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,857 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:22:41,857 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:22:41,858 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:22:41,858 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:41,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,868 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,870 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:22:41,870 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:41,875 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,894 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,895 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,895 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,895 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:22:41,896 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:41,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,907 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:22:41,907 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:22:41,908 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:22:41,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:22:41,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:22:41,908 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-27 13:22:41,908 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:22:41,908 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {41#true} is VALID [2022-04-27 13:22:41,909 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,909 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:22:41,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-27 13:22:41,910 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {41#true} is VALID [2022-04-27 13:22:41,910 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:22:41,912 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:22:41,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:41,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:41,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:41,913 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:22:41,913 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:22:41,914 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:22:41,914 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:22:41,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-27 13:22:41,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-27 13:22:41,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:22:41,915 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:22:41,916 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:41,916 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1083348882] [2022-04-27 13:22:41,917 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1083348882] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:41,917 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:41,917 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:22:41,918 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [47641454] [2022-04-27 13:22:41,920 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:41,924 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:22:41,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:41,928 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:22:41,961 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:22:41,961 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:22:41,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:41,980 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:22:41,981 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:41,983 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:22:42,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,143 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-27 13:22:42,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:22:42,144 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:22:42,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:42,145 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:22:42,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:22:42,151 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:22:42,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:22:42,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-27 13:22:42,269 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:22:42,283 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:22:42,283 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:22:42,285 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:22:42,288 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:22:42,289 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:22:42,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:22:42,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-27 13:22:42,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:42,313 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:22:42,313 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:22:42,313 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:22:42,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,317 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:42,317 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:42,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:42,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:42,318 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:22:42,318 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:22:42,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,321 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:42,321 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:42,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:42,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:42,321 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:42,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:42,322 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:22:42,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-27 13:22:42,325 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-27 13:22:42,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:42,325 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-27 13:22:42,325 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:22:42,325 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:42,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:42,326 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:42,326 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:22:42,326 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:22:42,326 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:42,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:42,327 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-27 13:22:42,327 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:42,327 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1667297619] [2022-04-27 13:22:42,327 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:42,327 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:42,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,386 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:42,388 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,392 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:22:42,393 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,393 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:22:42,393 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:42,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,397 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,397 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,397 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,398 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:22:42,398 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:42,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,401 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:22:42,402 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:42,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,406 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,406 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,406 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,406 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:22:42,407 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:22:42,407 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:22:42,407 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,407 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:22:42,407 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-27 13:22:42,407 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:22:42,408 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {275#true} is VALID [2022-04-27 13:22:42,408 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,408 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,408 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:22:42,408 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-27 13:22:42,408 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {275#true} is VALID [2022-04-27 13:22:42,408 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,409 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,409 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,409 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:22:42,409 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:22:42,409 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:42,409 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:42,409 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:42,410 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:22:42,410 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:22:42,410 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:22:42,411 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:22:42,411 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:22:42,412 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-27 13:22:42,412 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-27 13:22:42,412 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:22:42,412 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:42,412 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1667297619] [2022-04-27 13:22:42,412 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1667297619] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:42,413 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:42,413 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:42,413 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [831425059] [2022-04-27 13:22:42,413 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:42,414 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:22:42,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:42,414 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:22:42,430 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:22:42,430 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:42,430 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:42,431 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:42,431 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:42,431 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:22:42,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,784 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:22:42,784 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:22:42,784 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:22:42,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:42,784 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:22:42,786 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:42,786 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:22:42,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:42,787 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:22:42,839 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:22:42,840 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:22:42,840 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:22:42,841 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:22:42,841 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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:22:42,842 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:22:42,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:22:42,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:22:42,846 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:42,847 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:22:42,847 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:22:42,847 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:22:42,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,849 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:22:42,849 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:22:42,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:42,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:42,850 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:22:42,851 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:22:42,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:42,853 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:22:42,853 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:22:42,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:42,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:42,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:42,853 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:42,854 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:22:42,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:22:42,855 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-27 13:22:42,855 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:42,855 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:22:42,856 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:22:42,856 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:22:42,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:22:42,856 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:42,856 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:22:42,856 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:22:42,857 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:42,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:42,857 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-27 13:22:42,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:42,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1685199727] [2022-04-27 13:22:42,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:42,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:42,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,914 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:42,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,923 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:22:42,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,923 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:22:42,923 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:42,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,926 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,927 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:22:42,927 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:42,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,930 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:22:42,930 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:42,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,933 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,934 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,934 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,934 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:22:42,934 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 13:22:42,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,940 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:22:42,940 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:22:42,941 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:22:42,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:22:42,941 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-27 13:22:42,941 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:22:42,941 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:42,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:22:42,942 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-27 13:22:42,942 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:42,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,942 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,942 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:22:42,942 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:22:42,943 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,943 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,943 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,943 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:22:42,944 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:22:42,944 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:22:42,944 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:22:42,944 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:42,944 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:42,944 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:42,945 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:22:42,946 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:22:42,946 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:22:42,946 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-27 13:22:42,947 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-27 13:22:42,947 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:22:42,947 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:42,947 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1685199727] [2022-04-27 13:22:42,947 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1685199727] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:42,947 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:42,947 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:42,948 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1045808377] [2022-04-27 13:22:42,948 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:42,948 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:22:42,948 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:42,948 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:22:42,965 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:22:42,966 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:42,966 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:42,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:42,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:42,967 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:22:43,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:43,375 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-27 13:22:43,375 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:22:43,376 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:22:43,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:43,377 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:22:43,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:43,381 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:22:43,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:43,386 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:22:43,442 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:22:43,443 INFO L225 Difference]: With dead ends: 50 [2022-04-27 13:22:43,443 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 13:22:43,444 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:22:43,444 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:22:43,445 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:22:43,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 13:22:43,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 13:22:43,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:43,450 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:22:43,450 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:22:43,451 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:22:43,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:43,452 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:22:43,453 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:22:43,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:43,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:43,453 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:22:43,454 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:22:43,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:43,456 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:22:43,456 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:22:43,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:43,457 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:43,457 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:43,457 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:43,457 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:22:43,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-27 13:22:43,459 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-27 13:22:43,459 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:43,459 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-27 13:22:43,459 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:22:43,459 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-27 13:22:43,460 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:22:43,460 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:43,460 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:22:43,460 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:22:43,460 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:43,461 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:43,461 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-27 13:22:43,461 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:43,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2039475787] [2022-04-27 13:22:43,461 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:43,461 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:43,481 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:43,481 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [102545170] [2022-04-27 13:22:43,481 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:43,481 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:43,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:43,482 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:43,483 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 13:22:43,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:43,518 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:22:43,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:43,530 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:44,031 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-27 13:22:44,031 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:22:44,031 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:44,031 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-27 13:22:44,031 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-27 13:22:44,031 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:22:44,032 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:44,032 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-27 13:22:44,032 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:44,032 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:44,033 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:44,033 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {781#true} {781#true} #83#return; {781#true} is VALID [2022-04-27 13:22:44,033 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:22:44,035 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:22:44,036 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:22:44,036 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:22:44,036 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:22:44,037 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:22:44,037 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:22:44,038 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:22:44,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:44,038 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:44,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:44,038 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:22:44,039 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:22:44,039 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:44,039 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:44,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:44,039 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:22:44,040 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:22:44,040 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:22:44,047 INFO L290 TraceCheckUtils]: 36: Hoare triple {896#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-27 13:22:44,047 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-27 13:22:44,048 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:22:44,048 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:44,048 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:44,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2039475787] [2022-04-27 13:22:44,048 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:44,048 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [102545170] [2022-04-27 13:22:44,048 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [102545170] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:44,048 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:44,048 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 13:22:44,049 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1228920311] [2022-04-27 13:22:44,049 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:44,049 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:22:44,049 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:44,050 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:22:44,072 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:22:44,072 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:22:44,072 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:44,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:22:44,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:22:44,073 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:22:44,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:44,419 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-27 13:22:44,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:22:44,419 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:22:44,419 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:44,419 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:22:44,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:22:44,421 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:22:44,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:22:44,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-27 13:22:44,488 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:22:44,490 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:22:44,490 INFO L226 Difference]: Without dead ends: 55 [2022-04-27 13:22:44,490 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:22:44,491 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:22:44,491 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:22:44,492 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-27 13:22:44,509 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-27 13:22:44,510 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:44,511 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:22:44,511 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:22:44,513 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:22:44,516 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:44,517 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:22:44,517 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:44,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:44,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:44,522 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:22:44,522 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:22:44,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:44,526 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:22:44,526 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:44,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:44,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:44,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:44,527 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:44,527 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:22:44,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:22:44,530 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-27 13:22:44,531 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:44,531 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:22:44,531 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:22:44,532 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:44,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:22:44,533 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:44,533 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:22:44,551 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-27 13:22:44,739 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:22:44,740 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:44,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:44,740 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-27 13:22:44,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:44,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655547035] [2022-04-27 13:22:44,740 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:44,740 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:44,755 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:44,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [509725678] [2022-04-27 13:22:44,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:44,755 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:44,756 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:44,760 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:44,761 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 13:22:44,798 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:44,799 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:22:44,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:44,808 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:45,770 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:22:45,771 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:22:45,771 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,771 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:22:45,771 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:22:45,771 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:22:45,771 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:22:45,771 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:45,771 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:45,772 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,772 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:22:45,772 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:22:45,772 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:22:45,776 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:22:45,776 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:22:45,776 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:22:45,777 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) 10)} is VALID [2022-04-27 13:22:45,777 INFO L272 TraceCheckUtils]: 17: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:22:45,777 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:45,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:45,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,778 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1255#(<= (mod main_~B~0 4294967296) 10)} #85#return; {1255#(<= (mod main_~B~0 4294967296) 10)} is VALID [2022-04-27 13:22:45,778 INFO L290 TraceCheckUtils]: 22: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 10)} ~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) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,779 INFO L290 TraceCheckUtils]: 23: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,779 INFO L272 TraceCheckUtils]: 24: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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:22:45,779 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:45,779 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:45,779 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,780 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,780 INFO L272 TraceCheckUtils]: 29: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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:22:45,780 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:45,780 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:45,780 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,780 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,781 INFO L272 TraceCheckUtils]: 34: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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:22:45,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:45,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:45,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:45,781 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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) 10) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,782 INFO L290 TraceCheckUtils]: 39: Hoare triple {1274#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 10) (<= 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) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} assume !false; {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= main_~q~0 0))} is VALID [2022-04-27 13:22:45,783 INFO L272 TraceCheckUtils]: 41: Hoare triple {1326#(and (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 10) (= 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:22:45,784 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:22:45,784 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:22:45,784 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:22:45,784 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:22:45,784 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:46,155 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:22:46,155 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:22:46,156 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:22:46,157 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:22:46,157 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:22:46,157 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:22:46,158 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:22:46,158 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,158 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,158 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,158 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:22:46,159 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:22:46,159 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,159 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,159 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,159 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:22:46,160 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:22:46,160 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,160 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,160 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,160 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:22:46,161 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:22:46,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:22:46,161 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1200#true} #85#return; {1200#true} is VALID [2022-04-27 13:22:46,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,161 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,162 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:22:46,162 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1200#true} {1200#true} #83#return; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 15: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 14: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:22:46,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:22:46,163 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:22:46,163 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:22:46,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:22:46,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:22:46,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:22:46,163 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:22:46,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:22:46,163 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:22:46,164 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:46,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1655547035] [2022-04-27 13:22:46,164 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:46,164 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [509725678] [2022-04-27 13:22:46,164 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [509725678] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:46,164 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:46,164 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-27 13:22:46,164 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [291165222] [2022-04-27 13:22:46,164 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:46,165 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:22:46,165 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:46,165 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:22:46,190 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:22:46,190 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:46,190 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:46,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:46,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:46,191 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:22:46,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:46,383 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-27 13:22:46,383 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:46,383 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:22:46,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:46,383 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:22:46,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:22:46,384 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:22:46,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:22:46,385 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:22:46,421 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:22:46,422 INFO L225 Difference]: With dead ends: 68 [2022-04-27 13:22:46,422 INFO L226 Difference]: Without dead ends: 66 [2022-04-27 13:22:46,423 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:22:46,423 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:22:46,423 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:22:46,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-27 13:22:46,440 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-27 13:22:46,440 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:46,441 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:22:46,441 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:22:46,441 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:22:46,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:46,443 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:22:46,443 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:22:46,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:46,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:46,444 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:22:46,444 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:22:46,446 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:46,446 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:22:46,446 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:22:46,446 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:46,446 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:46,446 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:46,446 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:46,447 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:22:46,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-27 13:22:46,448 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-27 13:22:46,449 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:46,449 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-27 13:22:46,449 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:22:46,449 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-27 13:22:46,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:22:46,449 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:46,449 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:22:46,465 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:46,653 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:46,653 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:46,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:46,654 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-27 13:22:46,654 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:46,654 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [386997097] [2022-04-27 13:22:46,654 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:46,654 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:46,670 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:46,670 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [911859715] [2022-04-27 13:22:46,670 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:46,670 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:46,670 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:46,676 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:46,677 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 13:22:46,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:46,719 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:22:46,730 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:46,731 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:47,404 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:22:47,405 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:22:47,405 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:22:47,405 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:22:47,405 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:22:47,405 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:22:47,406 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:22:47,406 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,406 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,406 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,406 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:22:47,406 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:22:47,406 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:22:47,407 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:22:47,407 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:22:47,408 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:22:47,408 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:22:47,409 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:22:47,409 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:22:47,409 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,409 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,409 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,410 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:22:47,410 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:22:47,410 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,410 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,410 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,410 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:22:47,410 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:22:47,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,412 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:22:47,413 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:22:47,413 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:22:47,413 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:22:47,413 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,413 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,421 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:22:47,421 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:22:47,421 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,421 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,421 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,422 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:22:47,423 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:22:47,423 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:22:47,423 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:22:47,423 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:22:47,424 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:22:47,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:47,733 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:22:47,734 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:22:47,734 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:22:47,735 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:22:47,735 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:22:47,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,736 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,736 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,736 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:22:47,736 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:22:47,736 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,736 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,736 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,736 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:22:47,737 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:22:47,780 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:22:47,780 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:22:47,780 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,781 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:22:47,781 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:22:47,781 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,781 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,782 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:22:47,782 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:22:47,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,782 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:22:47,783 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:22:47,783 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:22:47,783 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1808#true} {1808#true} #85#return; {1808#true} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,783 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,783 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:22:47,784 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:22:47,784 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:22:47,784 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:22:47,785 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:22:47,785 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:22:47,785 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:22:47,785 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:22:47,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:22:47,785 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:22:47,785 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:47,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [386997097] [2022-04-27 13:22:47,785 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:47,785 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [911859715] [2022-04-27 13:22:47,785 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [911859715] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:47,786 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:47,786 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:22:47,786 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [94098119] [2022-04-27 13:22:47,786 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:47,786 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:22:47,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:47,787 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:22:47,809 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:22:47,809 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:47,810 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:47,810 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:47,810 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:47,810 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:22:48,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:48,192 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-27 13:22:48,192 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:48,192 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:22:48,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:48,193 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:22:48,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:22:48,194 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:22:48,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:22:48,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-27 13:22:48,237 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:22:48,238 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:22:48,238 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 13:22:48,239 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:22:48,239 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:48,239 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.2s Time] [2022-04-27 13:22:48,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 13:22:48,269 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-27 13:22:48,269 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:48,269 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:22:48,269 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:22:48,270 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:22:48,272 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:48,272 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:22:48,272 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:22:48,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:48,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:48,272 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:22:48,273 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:22:48,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:48,275 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:22:48,275 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:22:48,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:48,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:48,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:48,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:48,275 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:22:48,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-27 13:22:48,277 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-27 13:22:48,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:48,277 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-27 13:22:48,277 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:22:48,277 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-27 13:22:48,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 13:22:48,278 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:48,278 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:22:48,303 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:48,492 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:48,492 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:48,493 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:48,493 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-27 13:22:48,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:48,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [866663943] [2022-04-27 13:22:48,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:48,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:48,501 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:48,502 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [407518293] [2022-04-27 13:22:48,502 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:48,502 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:48,502 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:48,503 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:48,532 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 13:22:48,560 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:48,560 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:22:48,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:48,580 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:48,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-27 13:22:48,927 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:22:48,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #101#return; {2512#true} is VALID [2022-04-27 13:22:48,927 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-27 13:22:48,927 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:22:48,927 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:22:48,927 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #81#return; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,928 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-27 13:22:48,928 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:22:48,928 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,929 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,929 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,929 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #85#return; {2512#true} is VALID [2022-04-27 13:22:48,930 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:22:48,930 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:22:48,931 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:22:48,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,931 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:22:48,931 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:22:48,931 INFO L290 TraceCheckUtils]: 30: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,932 INFO L290 TraceCheckUtils]: 31: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,932 INFO L290 TraceCheckUtils]: 32: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,932 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:22:48,932 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:22:48,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,933 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:22:48,933 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:22:48,934 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:22:48,934 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:22:48,934 INFO L290 TraceCheckUtils]: 42: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,934 INFO L290 TraceCheckUtils]: 43: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,934 INFO L290 TraceCheckUtils]: 44: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,935 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:22:48,935 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:22:48,935 INFO L290 TraceCheckUtils]: 47: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:22:48,935 INFO L290 TraceCheckUtils]: 48: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:22:48,935 INFO L290 TraceCheckUtils]: 49: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:22:48,936 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:22:48,936 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:22:48,937 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:22:48,937 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:22:48,938 INFO L290 TraceCheckUtils]: 54: Hoare triple {2678#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-27 13:22:48,938 INFO L290 TraceCheckUtils]: 55: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-27 13:22:48,938 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:22:48,938 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:48,938 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:48,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [866663943] [2022-04-27 13:22:48,938 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:48,938 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [407518293] [2022-04-27 13:22:48,939 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [407518293] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:48,939 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:48,939 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:22:48,939 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1502584609] [2022-04-27 13:22:48,939 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:48,939 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:22:48,939 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:48,940 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:22:48,968 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:22:48,969 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:48,969 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:48,969 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:48,969 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:22:48,969 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:22:49,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:49,165 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-27 13:22:49,165 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:49,165 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:22:49,166 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:49,166 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:22:49,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:22:49,167 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:22:49,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:22:49,168 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:22:49,211 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:22:49,212 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:22:49,213 INFO L226 Difference]: Without dead ends: 72 [2022-04-27 13:22:49,213 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:22:49,213 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 8 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 49 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:49,214 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.0s Time] [2022-04-27 13:22:49,214 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-27 13:22:49,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-27 13:22:49,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:49,231 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:22:49,231 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:22:49,231 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:22:49,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:49,233 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:22:49,233 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:22:49,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:49,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:49,234 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:22:49,234 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:22:49,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:49,236 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:22:49,236 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:22:49,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:49,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:49,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:49,237 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:49,237 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:22:49,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-27 13:22:49,239 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-27 13:22:49,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:49,239 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-27 13:22:49,239 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:22:49,239 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-27 13:22:49,239 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:22:49,239 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:49,240 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:22:49,257 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:49,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:49,451 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:49,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:49,452 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-27 13:22:49,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:49,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [54077271] [2022-04-27 13:22:49,452 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:49,452 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:49,462 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:49,462 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [559734740] [2022-04-27 13:22:49,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:49,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:49,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:49,463 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:49,464 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 13:22:49,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:49,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:22:49,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:49,536 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:53,480 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:22:53,481 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:22:53,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:22:53,481 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:22:53,481 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:22:53,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:22:53,482 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:22:53,482 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,482 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:22:53,483 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:22:53,483 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:22:53,483 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:22:53,483 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,483 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,483 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,484 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:22:53,484 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:22:53,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,484 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,488 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:22:53,488 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:22:53,488 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,488 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,488 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,489 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:22:53,489 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:22:53,490 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:22:53,490 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:22:53,490 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,490 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,490 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,491 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:22:53,491 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:22:53,491 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,491 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,491 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,492 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:22:53,492 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:22:53,492 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,492 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,492 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:22:53,493 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:22:53,493 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:22:53,493 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:22:53,493 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:22:53,494 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:22:53,494 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:22:53,494 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:22:53,494 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:22:53,494 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:22:53,495 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:22:53,495 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:22:53,496 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:22:53,497 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:22:53,498 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:22:53,498 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:22:53,499 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:22:53,499 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:22:53,499 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:22:53,499 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:22:53,500 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:22:53,500 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:23:29,910 WARN L232 SmtUtils]: Spent 13.57s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:24:40,034 WARN L855 $PredicateComparison]: unable to prove that (let ((.cse0 (mod c_main_~B~0 4294967296))) (or (<= c_main_~d~0 c_main_~r~0) (not (= c_main_~d~0 (* c_main_~p~0 .cse0))) (let ((.cse4 (= (mod c_main_~p~0 2) 0)) (.cse10 (div c_main_~p~0 2))) (let ((.cse6 (* (+ c_main_~q~0 .cse10) .cse0)) (.cse7 (not .cse4)) (.cse1 (mod c_main_~A~0 4294967296)) (.cse2 (* (- 1) (div c_main_~d~0 2))) (.cse3 (* (+ c_main_~q~0 .cse10 1) .cse0)) (.cse9 (= (mod c_main_~d~0 2) 0)) (.cse8 (< c_main_~d~0 0))) (and (or (let ((.cse5 (< c_main_~p~0 0))) (and (or (= .cse1 (+ c_main_~r~0 .cse2 .cse3)) .cse4 (not .cse5)) (or (= .cse1 (+ .cse6 c_main_~r~0 .cse2)) (and .cse7 .cse5)))) (and .cse8 (not .cse9))) (or (and (or (= .cse1 (+ (- 1) .cse6 c_main_~r~0 .cse2)) .cse7) (or .cse4 (= .cse1 (+ (- 1) c_main_~r~0 .cse2 .cse3)))) .cse9 (not .cse8))))))) is different from true [2022-04-27 13:25:30,452 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:25:30,453 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:25:30,453 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:30,454 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:25:30,454 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:25:30,456 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:25:30,467 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:25:30,469 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:25:30,470 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:30,470 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:25:30,470 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:25:30,471 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:25:30,471 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:25:30,471 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,471 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,471 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,471 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:25:30,473 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:25:30,474 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:25:30,474 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:25:30,474 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,474 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,474 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,475 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:25:30,475 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:25:30,475 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,475 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,475 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,475 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:25:30,476 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:25:30,476 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,476 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,476 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,476 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:25:30,477 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:25:30,481 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:25:30,482 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:25:30,482 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,482 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,482 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,482 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:25:30,483 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:25:30,483 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,483 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,483 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,483 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:25:30,484 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:25:30,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,484 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:25:30,484 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:25:30,485 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:25:30,486 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,486 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:30,486 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:30,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:30,487 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:30,487 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:25:30,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:25:30,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:30,487 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:30,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:25:30,487 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 3 refuted. 0 times theorem prover too weak. 103 trivial. 5 not checked. [2022-04-27 13:25:30,487 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:30,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [54077271] [2022-04-27 13:25:30,488 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:30,488 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [559734740] [2022-04-27 13:25:30,488 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [559734740] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:25:30,488 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:25:30,488 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 18 [2022-04-27 13:25:30,488 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957360781] [2022-04-27 13:25:30,488 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:25:30,489 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:25:30,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:30,489 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:25:30,588 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:25:30,588 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:25:30,588 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:30,589 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:25:30,589 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=215, Unknown=1, NotChecked=30, Total=306 [2022-04-27 13:25:30,589 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:25:40,363 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:25:42,406 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.97s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:26:00,531 WARN L232 SmtUtils]: Spent 17.91s on a formula simplification. DAG size of input: 67 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:26:23,824 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:23,824 INFO L93 Difference]: Finished difference Result 142 states and 184 transitions. [2022-04-27 13:26:23,824 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-27 13:26:23,824 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:26:23,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:23,825 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:26:23,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 127 transitions. [2022-04-27 13:26:23,827 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:26:23,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 127 transitions. [2022-04-27 13:26:23,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 127 transitions. [2022-04-27 13:26:25,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:26:25,236 INFO L225 Difference]: With dead ends: 142 [2022-04-27 13:26:25,236 INFO L226 Difference]: Without dead ends: 115 [2022-04-27 13:26:25,239 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 156 GetRequests, 131 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 35.2s TimeCoverageRelationStatistics Valid=99, Invalid=366, Unknown=1, NotChecked=40, Total=506 [2022-04-27 13:26:25,239 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 55 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 451 mSolverCounterSat, 138 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 9.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 60 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 664 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 138 IncrementalHoareTripleChecker+Valid, 451 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 74 IncrementalHoareTripleChecker+Unchecked, 9.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:26:25,240 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [60 Valid, 184 Invalid, 664 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [138 Valid, 451 Invalid, 1 Unknown, 74 Unchecked, 9.4s Time] [2022-04-27 13:26:25,240 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-04-27 13:26:25,280 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 103. [2022-04-27 13:26:25,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:25,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 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:26:25,281 INFO L74 IsIncluded]: Start isIncluded. First operand 115 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:26:25,281 INFO L87 Difference]: Start difference. First operand 115 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:26:25,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:25,284 INFO L93 Difference]: Finished difference Result 115 states and 147 transitions. [2022-04-27 13:26:25,284 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 147 transitions. [2022-04-27 13:26:25,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:25,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:25,285 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 115 states. [2022-04-27 13:26:25,285 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 115 states. [2022-04-27 13:26:25,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:25,288 INFO L93 Difference]: Finished difference Result 115 states and 147 transitions. [2022-04-27 13:26:25,288 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 147 transitions. [2022-04-27 13:26:25,289 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:25,289 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:25,289 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:25,289 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:25,289 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:26:25,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 127 transitions. [2022-04-27 13:26:25,292 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 127 transitions. Word has length 75 [2022-04-27 13:26:25,292 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:25,292 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 127 transitions. [2022-04-27 13:26:25,292 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:26:25,292 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 127 transitions. [2022-04-27 13:26:25,293 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 13:26:25,293 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:25,293 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:26:25,325 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-27 13:26:25,511 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:26:25,511 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:25,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:25,512 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-27 13:26:25,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:25,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [952452202] [2022-04-27 13:26:25,512 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:25,512 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:25,527 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:25,527 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1219000551] [2022-04-27 13:26:25,527 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:25,527 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:25,527 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:25,528 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:26:25,529 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:26:25,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:25,581 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:26:25,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:25,592 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:26:25,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {4112#true} call ULTIMATE.init(); {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {4112#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); {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 2: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4112#true} {4112#true} #101#return; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {4112#true} call #t~ret6 := main(); {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {4112#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; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L272 TraceCheckUtils]: 6: Hoare triple {4112#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4112#true} {4112#true} #81#return; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L290 TraceCheckUtils]: 11: Hoare triple {4112#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4112#true} is VALID [2022-04-27 13:26:25,851 INFO L272 TraceCheckUtils]: 12: Hoare triple {4112#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 15: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4112#true} {4112#true} #83#return; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L272 TraceCheckUtils]: 17: Hoare triple {4112#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 18: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 19: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 20: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4112#true} {4112#true} #85#return; {4112#true} is VALID [2022-04-27 13:26:25,852 INFO L290 TraceCheckUtils]: 22: Hoare triple {4112#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,853 INFO L290 TraceCheckUtils]: 23: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,853 INFO L272 TraceCheckUtils]: 24: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:25,853 INFO L290 TraceCheckUtils]: 25: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,853 INFO L290 TraceCheckUtils]: 26: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,853 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,853 INFO L272 TraceCheckUtils]: 29: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,853 INFO L290 TraceCheckUtils]: 30: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L290 TraceCheckUtils]: 31: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L290 TraceCheckUtils]: 32: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,854 INFO L272 TraceCheckUtils]: 34: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L290 TraceCheckUtils]: 35: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L290 TraceCheckUtils]: 36: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,854 INFO L290 TraceCheckUtils]: 37: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,855 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,855 INFO L290 TraceCheckUtils]: 39: Hoare triple {4183#(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; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,855 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,855 INFO L272 TraceCheckUtils]: 41: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 42: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 43: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 44: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,856 INFO L272 TraceCheckUtils]: 46: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 47: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 48: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,856 INFO L290 TraceCheckUtils]: 49: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,857 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,857 INFO L272 TraceCheckUtils]: 51: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,857 INFO L290 TraceCheckUtils]: 52: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,857 INFO L290 TraceCheckUtils]: 53: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,857 INFO L290 TraceCheckUtils]: 54: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,858 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,858 INFO L290 TraceCheckUtils]: 56: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,858 INFO L290 TraceCheckUtils]: 57: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,858 INFO L272 TraceCheckUtils]: 58: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,858 INFO L290 TraceCheckUtils]: 59: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,858 INFO L290 TraceCheckUtils]: 60: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,858 INFO L290 TraceCheckUtils]: 61: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,859 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,859 INFO L272 TraceCheckUtils]: 63: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:25,859 INFO L290 TraceCheckUtils]: 64: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,859 INFO L290 TraceCheckUtils]: 65: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,859 INFO L290 TraceCheckUtils]: 66: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,860 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,860 INFO L290 TraceCheckUtils]: 68: Hoare triple {4183#(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); {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:25,861 INFO L290 TraceCheckUtils]: 69: Hoare triple {4183#(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; {4325#(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:26:25,861 INFO L290 TraceCheckUtils]: 70: Hoare triple {4325#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4325#(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:26:25,861 INFO L272 TraceCheckUtils]: 71: Hoare triple {4325#(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)); {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 72: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 73: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 74: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4112#true} {4325#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {4325#(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:26:25,862 INFO L272 TraceCheckUtils]: 76: Hoare triple {4325#(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)); {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 77: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 78: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:25,862 INFO L290 TraceCheckUtils]: 79: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:25,863 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4112#true} {4325#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #95#return; {4325#(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:26:25,863 INFO L290 TraceCheckUtils]: 81: Hoare triple {4325#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4362#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-27 13:26:25,864 INFO L272 TraceCheckUtils]: 82: Hoare triple {4362#(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)); {4366#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:25,864 INFO L290 TraceCheckUtils]: 83: Hoare triple {4366#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4370#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:25,864 INFO L290 TraceCheckUtils]: 84: Hoare triple {4370#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4113#false} is VALID [2022-04-27 13:26:25,864 INFO L290 TraceCheckUtils]: 85: Hoare triple {4113#false} assume !false; {4113#false} is VALID [2022-04-27 13:26:25,865 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:26:25,865 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:26:51,764 INFO L290 TraceCheckUtils]: 85: Hoare triple {4113#false} assume !false; {4113#false} is VALID [2022-04-27 13:26:51,764 INFO L290 TraceCheckUtils]: 84: Hoare triple {4370#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4113#false} is VALID [2022-04-27 13:26:51,765 INFO L290 TraceCheckUtils]: 83: Hoare triple {4366#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4370#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:51,765 INFO L272 TraceCheckUtils]: 82: Hoare triple {4386#(= (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)); {4366#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:51,766 INFO L290 TraceCheckUtils]: 81: Hoare triple {4390#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4386#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:26:51,766 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4112#true} {4390#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4390#(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:26:51,766 INFO L290 TraceCheckUtils]: 79: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,766 INFO L290 TraceCheckUtils]: 78: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,766 INFO L290 TraceCheckUtils]: 77: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,766 INFO L272 TraceCheckUtils]: 76: Hoare triple {4390#(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)); {4112#true} is VALID [2022-04-27 13:26:51,767 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4112#true} {4390#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4390#(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:26:51,767 INFO L290 TraceCheckUtils]: 74: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,767 INFO L290 TraceCheckUtils]: 73: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,767 INFO L290 TraceCheckUtils]: 72: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,767 INFO L272 TraceCheckUtils]: 71: Hoare triple {4390#(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)); {4112#true} is VALID [2022-04-27 13:26:51,767 INFO L290 TraceCheckUtils]: 70: Hoare triple {4390#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4390#(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:26:51,768 INFO L290 TraceCheckUtils]: 69: Hoare triple {4183#(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; {4390#(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:26:51,769 INFO L290 TraceCheckUtils]: 68: Hoare triple {4183#(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); {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,769 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,769 INFO L290 TraceCheckUtils]: 66: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,769 INFO L290 TraceCheckUtils]: 65: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,769 INFO L290 TraceCheckUtils]: 64: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,770 INFO L272 TraceCheckUtils]: 63: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,770 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,770 INFO L290 TraceCheckUtils]: 61: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,770 INFO L290 TraceCheckUtils]: 60: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,770 INFO L290 TraceCheckUtils]: 59: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,770 INFO L272 TraceCheckUtils]: 58: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,771 INFO L290 TraceCheckUtils]: 57: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,771 INFO L290 TraceCheckUtils]: 56: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,772 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,772 INFO L290 TraceCheckUtils]: 54: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,772 INFO L290 TraceCheckUtils]: 53: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,772 INFO L290 TraceCheckUtils]: 52: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,772 INFO L272 TraceCheckUtils]: 51: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,772 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,772 INFO L290 TraceCheckUtils]: 49: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L290 TraceCheckUtils]: 48: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L290 TraceCheckUtils]: 47: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L272 TraceCheckUtils]: 46: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L290 TraceCheckUtils]: 43: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L290 TraceCheckUtils]: 42: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,773 INFO L272 TraceCheckUtils]: 41: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:51,774 INFO L290 TraceCheckUtils]: 40: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,774 INFO L290 TraceCheckUtils]: 39: Hoare triple {4183#(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; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,775 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,775 INFO L290 TraceCheckUtils]: 37: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,775 INFO L290 TraceCheckUtils]: 36: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,775 INFO L290 TraceCheckUtils]: 35: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,775 INFO L272 TraceCheckUtils]: 34: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 32: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 31: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 30: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L272 TraceCheckUtils]: 29: Hoare triple {4183#(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)); {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4112#true} {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 27: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 26: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,776 INFO L290 TraceCheckUtils]: 25: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,777 INFO L272 TraceCheckUtils]: 24: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:51,777 INFO L290 TraceCheckUtils]: 23: Hoare triple {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,777 INFO L290 TraceCheckUtils]: 22: Hoare triple {4112#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4183#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:26:51,777 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4112#true} {4112#true} #85#return; {4112#true} is VALID [2022-04-27 13:26:51,777 INFO L290 TraceCheckUtils]: 20: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,777 INFO L290 TraceCheckUtils]: 19: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L272 TraceCheckUtils]: 17: Hoare triple {4112#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4112#true} {4112#true} #83#return; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 14: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 13: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L272 TraceCheckUtils]: 12: Hoare triple {4112#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 11: Hoare triple {4112#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4112#true} {4112#true} #81#return; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 9: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 8: Hoare triple {4112#true} assume !(0 == ~cond); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 7: Hoare triple {4112#true} ~cond := #in~cond; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L272 TraceCheckUtils]: 6: Hoare triple {4112#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 5: Hoare triple {4112#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; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L272 TraceCheckUtils]: 4: Hoare triple {4112#true} call #t~ret6 := main(); {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4112#true} {4112#true} #101#return; {4112#true} is VALID [2022-04-27 13:26:51,778 INFO L290 TraceCheckUtils]: 2: Hoare triple {4112#true} assume true; {4112#true} is VALID [2022-04-27 13:26:51,779 INFO L290 TraceCheckUtils]: 1: Hoare triple {4112#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); {4112#true} is VALID [2022-04-27 13:26:51,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {4112#true} call ULTIMATE.init(); {4112#true} is VALID [2022-04-27 13:26:51,779 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:26:51,779 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:51,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [952452202] [2022-04-27 13:26:51,779 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:51,779 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1219000551] [2022-04-27 13:26:51,779 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1219000551] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:26:51,779 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:26:51,779 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-27 13:26:51,779 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641917702] [2022-04-27 13:26:51,780 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:26:51,780 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:26:51,780 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:51,780 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:26:51,828 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:26:51,828 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:26:51,828 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:51,828 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:26:51,828 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:26:51,829 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:26:52,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:52,856 INFO L93 Difference]: Finished difference Result 116 states and 143 transitions. [2022-04-27 13:26:52,856 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:26:52,856 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:26:52,856 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:52,856 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:26:52,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:26:52,858 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:26:52,859 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:26:52,859 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-27 13:26:52,917 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:26:52,918 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:26:52,918 INFO L226 Difference]: Without dead ends: 114 [2022-04-27 13:26:52,919 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:26:52,919 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 13 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 173 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 226 SdHoareTripleChecker+Invalid, 184 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 173 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:26:52,919 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 226 Invalid, 184 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 173 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-27 13:26:52,919 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-27 13:26:52,954 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2022-04-27 13:26:52,954 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:52,954 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:26:52,955 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:26:52,955 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:26:52,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:52,958 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:26:52,958 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:26:52,958 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:52,958 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:52,958 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:26:52,958 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:26:52,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:52,961 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:26:52,961 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:26:52,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:52,962 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:52,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:52,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:52,962 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:26:52,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 134 transitions. [2022-04-27 13:26:52,965 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 134 transitions. Word has length 86 [2022-04-27 13:26:52,965 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:52,965 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 134 transitions. [2022-04-27 13:26:52,965 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:26:52,965 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-27 13:26:52,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:26:52,966 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:52,966 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:26:52,982 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-27 13:26:53,177 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:26:53,177 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:53,177 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:53,178 INFO L85 PathProgramCache]: Analyzing trace with hash -1353450239, now seen corresponding path program 2 times [2022-04-27 13:26:53,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:53,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2027441959] [2022-04-27 13:26:53,178 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:53,178 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:53,187 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:53,187 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1083445899] [2022-04-27 13:26:53,188 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:26:53,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:53,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:53,188 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:26:53,189 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:26:53,231 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:26:53,231 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:26:53,232 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:26:53,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:53,243 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:26:53,385 INFO L272 TraceCheckUtils]: 0: Hoare triple {5191#true} call ULTIMATE.init(); {5191#true} is VALID [2022-04-27 13:26:53,385 INFO L290 TraceCheckUtils]: 1: Hoare triple {5191#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); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 2: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5191#true} {5191#true} #101#return; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L272 TraceCheckUtils]: 4: Hoare triple {5191#true} call #t~ret6 := main(); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {5191#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; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L272 TraceCheckUtils]: 6: Hoare triple {5191#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 7: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 8: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 9: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5191#true} {5191#true} #81#return; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {5191#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L272 TraceCheckUtils]: 12: Hoare triple {5191#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L290 TraceCheckUtils]: 15: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5191#true} {5191#true} #83#return; {5191#true} is VALID [2022-04-27 13:26:53,386 INFO L272 TraceCheckUtils]: 17: Hoare triple {5191#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 18: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 19: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 20: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5191#true} {5191#true} #85#return; {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 22: Hoare triple {5191#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 23: Hoare triple {5262#(= main_~p~0 1)} assume !false; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,387 INFO L272 TraceCheckUtils]: 24: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 25: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 26: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,387 INFO L290 TraceCheckUtils]: 27: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,388 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #87#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,388 INFO L272 TraceCheckUtils]: 29: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,388 INFO L290 TraceCheckUtils]: 30: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,388 INFO L290 TraceCheckUtils]: 31: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,388 INFO L290 TraceCheckUtils]: 32: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,389 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #89#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,389 INFO L272 TraceCheckUtils]: 34: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,389 INFO L290 TraceCheckUtils]: 35: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,389 INFO L290 TraceCheckUtils]: 36: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,389 INFO L290 TraceCheckUtils]: 37: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,389 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #91#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,390 INFO L290 TraceCheckUtils]: 39: Hoare triple {5262#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,390 INFO L290 TraceCheckUtils]: 40: Hoare triple {5314#(= main_~p~0 2)} assume !false; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,390 INFO L272 TraceCheckUtils]: 41: Hoare triple {5314#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,390 INFO L290 TraceCheckUtils]: 42: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,390 INFO L290 TraceCheckUtils]: 43: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,390 INFO L290 TraceCheckUtils]: 44: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,403 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5191#true} {5314#(= main_~p~0 2)} #87#return; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,403 INFO L272 TraceCheckUtils]: 46: Hoare triple {5314#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 47: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 48: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 49: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5191#true} {5314#(= main_~p~0 2)} #89#return; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,404 INFO L272 TraceCheckUtils]: 51: Hoare triple {5314#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 52: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 53: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,404 INFO L290 TraceCheckUtils]: 54: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,405 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5191#true} {5314#(= main_~p~0 2)} #91#return; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,405 INFO L290 TraceCheckUtils]: 56: Hoare triple {5314#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,405 INFO L290 TraceCheckUtils]: 57: Hoare triple {5314#(= main_~p~0 2)} assume !false; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,405 INFO L272 TraceCheckUtils]: 58: Hoare triple {5314#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,405 INFO L290 TraceCheckUtils]: 59: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L290 TraceCheckUtils]: 60: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L290 TraceCheckUtils]: 61: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5191#true} {5314#(= main_~p~0 2)} #93#return; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,406 INFO L272 TraceCheckUtils]: 63: Hoare triple {5314#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L290 TraceCheckUtils]: 64: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L290 TraceCheckUtils]: 65: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,406 INFO L290 TraceCheckUtils]: 66: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,407 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5191#true} {5314#(= main_~p~0 2)} #95#return; {5314#(= main_~p~0 2)} is VALID [2022-04-27 13:26:53,407 INFO L290 TraceCheckUtils]: 68: Hoare triple {5314#(= 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); {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,407 INFO L290 TraceCheckUtils]: 69: Hoare triple {5262#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,408 INFO L290 TraceCheckUtils]: 70: Hoare triple {5262#(= main_~p~0 1)} assume !false; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,408 INFO L272 TraceCheckUtils]: 71: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,408 INFO L290 TraceCheckUtils]: 72: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,408 INFO L290 TraceCheckUtils]: 73: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,408 INFO L290 TraceCheckUtils]: 74: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,408 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #93#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,408 INFO L272 TraceCheckUtils]: 76: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 77: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 78: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 79: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,409 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #95#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 81: Hoare triple {5262#(= 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); {5192#false} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 82: Hoare triple {5192#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5192#false} is VALID [2022-04-27 13:26:53,409 INFO L290 TraceCheckUtils]: 83: Hoare triple {5192#false} assume !false; {5192#false} is VALID [2022-04-27 13:26:53,410 INFO L272 TraceCheckUtils]: 84: Hoare triple {5192#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5192#false} is VALID [2022-04-27 13:26:53,410 INFO L290 TraceCheckUtils]: 85: Hoare triple {5192#false} ~cond := #in~cond; {5192#false} is VALID [2022-04-27 13:26:53,410 INFO L290 TraceCheckUtils]: 86: Hoare triple {5192#false} assume 0 == ~cond; {5192#false} is VALID [2022-04-27 13:26:53,410 INFO L290 TraceCheckUtils]: 87: Hoare triple {5192#false} assume !false; {5192#false} is VALID [2022-04-27 13:26:53,410 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:26:53,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:26:53,638 INFO L290 TraceCheckUtils]: 87: Hoare triple {5192#false} assume !false; {5192#false} is VALID [2022-04-27 13:26:53,638 INFO L290 TraceCheckUtils]: 86: Hoare triple {5192#false} assume 0 == ~cond; {5192#false} is VALID [2022-04-27 13:26:53,638 INFO L290 TraceCheckUtils]: 85: Hoare triple {5192#false} ~cond := #in~cond; {5192#false} is VALID [2022-04-27 13:26:53,638 INFO L272 TraceCheckUtils]: 84: Hoare triple {5192#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5192#false} is VALID [2022-04-27 13:26:53,639 INFO L290 TraceCheckUtils]: 83: Hoare triple {5192#false} assume !false; {5192#false} is VALID [2022-04-27 13:26:53,639 INFO L290 TraceCheckUtils]: 82: Hoare triple {5192#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5192#false} is VALID [2022-04-27 13:26:53,639 INFO L290 TraceCheckUtils]: 81: Hoare triple {5262#(= 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); {5192#false} is VALID [2022-04-27 13:26:53,639 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #95#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,639 INFO L290 TraceCheckUtils]: 79: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,639 INFO L290 TraceCheckUtils]: 78: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L290 TraceCheckUtils]: 77: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L272 TraceCheckUtils]: 76: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #93#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,640 INFO L290 TraceCheckUtils]: 74: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L290 TraceCheckUtils]: 73: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L290 TraceCheckUtils]: 72: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,640 INFO L272 TraceCheckUtils]: 71: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,641 INFO L290 TraceCheckUtils]: 70: Hoare triple {5262#(= main_~p~0 1)} assume !false; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,641 INFO L290 TraceCheckUtils]: 69: Hoare triple {5262#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,642 INFO L290 TraceCheckUtils]: 68: Hoare triple {5516#(= (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); {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,642 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5191#true} {5516#(= (div main_~p~0 2) 1)} #95#return; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,642 INFO L290 TraceCheckUtils]: 66: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,642 INFO L290 TraceCheckUtils]: 65: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,642 INFO L290 TraceCheckUtils]: 64: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,642 INFO L272 TraceCheckUtils]: 63: Hoare triple {5516#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,643 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5191#true} {5516#(= (div main_~p~0 2) 1)} #93#return; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,643 INFO L290 TraceCheckUtils]: 60: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,643 INFO L290 TraceCheckUtils]: 59: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,643 INFO L272 TraceCheckUtils]: 58: Hoare triple {5516#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,643 INFO L290 TraceCheckUtils]: 57: Hoare triple {5516#(= (div main_~p~0 2) 1)} assume !false; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,643 INFO L290 TraceCheckUtils]: 56: Hoare triple {5516#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,644 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5191#true} {5516#(= (div main_~p~0 2) 1)} #91#return; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,644 INFO L290 TraceCheckUtils]: 54: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,644 INFO L290 TraceCheckUtils]: 53: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,644 INFO L290 TraceCheckUtils]: 52: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,644 INFO L272 TraceCheckUtils]: 51: Hoare triple {5516#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5191#true} {5516#(= (div main_~p~0 2) 1)} #89#return; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 48: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 47: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L272 TraceCheckUtils]: 46: Hoare triple {5516#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5191#true} {5516#(= (div main_~p~0 2) 1)} #87#return; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 44: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 43: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L290 TraceCheckUtils]: 42: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,645 INFO L272 TraceCheckUtils]: 41: Hoare triple {5516#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,646 INFO L290 TraceCheckUtils]: 40: Hoare triple {5516#(= (div main_~p~0 2) 1)} assume !false; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,646 INFO L290 TraceCheckUtils]: 39: Hoare triple {5262#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5516#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:26:53,646 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #91#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 36: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L272 TraceCheckUtils]: 34: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #89#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 32: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,647 INFO L272 TraceCheckUtils]: 29: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,648 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5191#true} {5262#(= main_~p~0 1)} #87#return; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,648 INFO L290 TraceCheckUtils]: 27: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,648 INFO L290 TraceCheckUtils]: 26: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,648 INFO L290 TraceCheckUtils]: 25: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,648 INFO L272 TraceCheckUtils]: 24: Hoare triple {5262#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,648 INFO L290 TraceCheckUtils]: 23: Hoare triple {5262#(= main_~p~0 1)} assume !false; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,648 INFO L290 TraceCheckUtils]: 22: Hoare triple {5191#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5262#(= main_~p~0 1)} is VALID [2022-04-27 13:26:53,649 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5191#true} {5191#true} #85#return; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 19: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 18: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L272 TraceCheckUtils]: 17: Hoare triple {5191#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5191#true} {5191#true} #83#return; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L272 TraceCheckUtils]: 12: Hoare triple {5191#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {5191#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5191#true} {5191#true} #81#return; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 8: Hoare triple {5191#true} assume !(0 == ~cond); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 7: Hoare triple {5191#true} ~cond := #in~cond; {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L272 TraceCheckUtils]: 6: Hoare triple {5191#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {5191#true} is VALID [2022-04-27 13:26:53,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {5191#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; {5191#true} is VALID [2022-04-27 13:26:53,650 INFO L272 TraceCheckUtils]: 4: Hoare triple {5191#true} call #t~ret6 := main(); {5191#true} is VALID [2022-04-27 13:26:53,650 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5191#true} {5191#true} #101#return; {5191#true} is VALID [2022-04-27 13:26:53,650 INFO L290 TraceCheckUtils]: 2: Hoare triple {5191#true} assume true; {5191#true} is VALID [2022-04-27 13:26:53,650 INFO L290 TraceCheckUtils]: 1: Hoare triple {5191#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); {5191#true} is VALID [2022-04-27 13:26:53,650 INFO L272 TraceCheckUtils]: 0: Hoare triple {5191#true} call ULTIMATE.init(); {5191#true} is VALID [2022-04-27 13:26:53,650 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:26:53,650 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:53,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2027441959] [2022-04-27 13:26:53,650 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:53,650 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1083445899] [2022-04-27 13:26:53,650 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1083445899] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:26:53,650 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:26:53,651 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:26:53,651 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [462855025] [2022-04-27 13:26:53,651 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:26:53,651 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:26:53,651 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:53,651 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:26:53,705 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:26:53,705 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:26:53,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:53,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:26:53,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:26:53,706 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:26:53,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:53,971 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-27 13:26:53,971 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:26:53,971 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:26:53,972 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:53,972 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:26:53,973 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:26:53,973 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:26:53,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:26:53,974 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-04-27 13:26:54,036 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:26:54,038 INFO L225 Difference]: With dead ends: 130 [2022-04-27 13:26:54,038 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 13:26:54,038 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:26:54,039 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 1 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 169 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:26:54,039 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 169 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:26:54,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 13:26:54,100 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2022-04-27 13:26:54,100 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:54,100 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:26:54,101 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:26:54,101 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:26:54,103 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:54,103 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:26:54,103 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:26:54,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:54,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:54,104 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:26:54,104 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:26:54,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:54,106 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:26:54,106 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:26:54,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:54,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:54,107 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:54,107 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:54,107 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:26:54,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 140 transitions. [2022-04-27 13:26:54,109 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 140 transitions. Word has length 88 [2022-04-27 13:26:54,109 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:54,109 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 140 transitions. [2022-04-27 13:26:54,109 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:26:54,109 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:26:54,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:26:54,110 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:54,110 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:26:54,130 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:26:54,330 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:26:54,330 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:54,330 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:54,330 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-27 13:26:54,330 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:54,330 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64933779] [2022-04-27 13:26:54,331 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:54,331 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:54,360 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:54,361 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [830278456] [2022-04-27 13:26:54,361 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:54,361 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:54,361 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:54,362 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:26:54,362 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:26:54,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:54,400 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:26:54,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:54,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:26:55,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {6293#true} call ULTIMATE.init(); {6293#true} is VALID [2022-04-27 13:26:55,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {6293#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); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 2: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6293#true} {6293#true} #101#return; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L272 TraceCheckUtils]: 4: Hoare triple {6293#true} call #t~ret6 := main(); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 5: Hoare triple {6293#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; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L272 TraceCheckUtils]: 6: Hoare triple {6293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 7: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 8: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 9: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6293#true} {6293#true} #81#return; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 11: Hoare triple {6293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L272 TraceCheckUtils]: 12: Hoare triple {6293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 13: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 14: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 15: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6293#true} {6293#true} #83#return; {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L272 TraceCheckUtils]: 17: Hoare triple {6293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 19: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6293#true} {6293#true} #85#return; {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {6293#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,240 INFO L272 TraceCheckUtils]: 24: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,241 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,241 INFO L272 TraceCheckUtils]: 29: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,241 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,242 INFO L272 TraceCheckUtils]: 34: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,242 INFO L290 TraceCheckUtils]: 36: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,242 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,243 INFO L290 TraceCheckUtils]: 39: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:26:55,243 INFO L290 TraceCheckUtils]: 40: Hoare triple {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:26:55,243 INFO L272 TraceCheckUtils]: 41: Hoare triple {6416#(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)); {6293#true} is VALID [2022-04-27 13:26:55,243 INFO L290 TraceCheckUtils]: 42: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,243 INFO L290 TraceCheckUtils]: 43: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,243 INFO L290 TraceCheckUtils]: 44: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6293#true} {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:26:55,244 INFO L272 TraceCheckUtils]: 46: Hoare triple {6416#(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)); {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L290 TraceCheckUtils]: 47: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L290 TraceCheckUtils]: 48: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L290 TraceCheckUtils]: 49: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6293#true} {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:26:55,244 INFO L272 TraceCheckUtils]: 51: Hoare triple {6416#(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)); {6293#true} is VALID [2022-04-27 13:26:55,244 INFO L290 TraceCheckUtils]: 52: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,245 INFO L290 TraceCheckUtils]: 53: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,245 INFO L290 TraceCheckUtils]: 54: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,245 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6293#true} {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:26:55,246 INFO L290 TraceCheckUtils]: 56: Hoare triple {6416#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:26:55,246 INFO L290 TraceCheckUtils]: 57: Hoare triple {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:26:55,246 INFO L272 TraceCheckUtils]: 58: Hoare triple {6468#(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)); {6293#true} is VALID [2022-04-27 13:26:55,246 INFO L290 TraceCheckUtils]: 59: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,246 INFO L290 TraceCheckUtils]: 60: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,246 INFO L290 TraceCheckUtils]: 61: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,247 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6293#true} {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:26:55,247 INFO L272 TraceCheckUtils]: 63: Hoare triple {6468#(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)); {6293#true} is VALID [2022-04-27 13:26:55,247 INFO L290 TraceCheckUtils]: 64: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,247 INFO L290 TraceCheckUtils]: 65: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,247 INFO L290 TraceCheckUtils]: 66: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,247 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6293#true} {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {6468#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:26:55,248 INFO L290 TraceCheckUtils]: 68: Hoare triple {6468#(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); {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,249 INFO L290 TraceCheckUtils]: 69: Hoare triple {6505#(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; {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,249 INFO L290 TraceCheckUtils]: 70: Hoare triple {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,249 INFO L272 TraceCheckUtils]: 71: Hoare triple {6505#(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)); {6293#true} is VALID [2022-04-27 13:26:55,249 INFO L290 TraceCheckUtils]: 72: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,249 INFO L290 TraceCheckUtils]: 73: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,249 INFO L290 TraceCheckUtils]: 74: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,250 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6293#true} {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,250 INFO L272 TraceCheckUtils]: 76: Hoare triple {6505#(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)); {6293#true} is VALID [2022-04-27 13:26:55,250 INFO L290 TraceCheckUtils]: 77: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,250 INFO L290 TraceCheckUtils]: 78: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,250 INFO L290 TraceCheckUtils]: 79: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,254 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6293#true} {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,254 INFO L290 TraceCheckUtils]: 81: Hoare triple {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,254 INFO L272 TraceCheckUtils]: 82: Hoare triple {6505#(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)); {6293#true} is VALID [2022-04-27 13:26:55,254 INFO L290 TraceCheckUtils]: 83: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,254 INFO L290 TraceCheckUtils]: 84: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,255 INFO L290 TraceCheckUtils]: 85: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,255 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6293#true} {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {6505#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:26:55,255 INFO L272 TraceCheckUtils]: 87: Hoare triple {6505#(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)); {6563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:55,256 INFO L290 TraceCheckUtils]: 88: Hoare triple {6563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:55,256 INFO L290 TraceCheckUtils]: 89: Hoare triple {6567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6294#false} is VALID [2022-04-27 13:26:55,256 INFO L290 TraceCheckUtils]: 90: Hoare triple {6294#false} assume !false; {6294#false} is VALID [2022-04-27 13:26:55,256 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:26:55,256 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:26:55,748 INFO L290 TraceCheckUtils]: 90: Hoare triple {6294#false} assume !false; {6294#false} is VALID [2022-04-27 13:26:55,749 INFO L290 TraceCheckUtils]: 89: Hoare triple {6567#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6294#false} is VALID [2022-04-27 13:26:55,749 INFO L290 TraceCheckUtils]: 88: Hoare triple {6563#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6567#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:26:55,750 INFO L272 TraceCheckUtils]: 87: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6563#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:26:55,750 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,750 INFO L290 TraceCheckUtils]: 85: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,750 INFO L290 TraceCheckUtils]: 84: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,750 INFO L290 TraceCheckUtils]: 83: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,750 INFO L272 TraceCheckUtils]: 82: Hoare triple {6364#(= 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)); {6293#true} is VALID [2022-04-27 13:26:55,750 INFO L290 TraceCheckUtils]: 81: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,751 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,751 INFO L290 TraceCheckUtils]: 79: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,751 INFO L290 TraceCheckUtils]: 78: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,751 INFO L290 TraceCheckUtils]: 77: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,751 INFO L272 TraceCheckUtils]: 76: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,753 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6293#true} {6364#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,754 INFO L290 TraceCheckUtils]: 74: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,754 INFO L290 TraceCheckUtils]: 73: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,754 INFO L290 TraceCheckUtils]: 72: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,754 INFO L272 TraceCheckUtils]: 71: Hoare triple {6364#(= 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)); {6293#true} is VALID [2022-04-27 13:26:55,754 INFO L290 TraceCheckUtils]: 70: Hoare triple {6364#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,754 INFO L290 TraceCheckUtils]: 69: Hoare triple {6364#(= 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; {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,755 INFO L290 TraceCheckUtils]: 68: Hoare triple {6640#(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); {6364#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:26:55,756 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6293#true} {6640#(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; {6640#(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:26:55,756 INFO L290 TraceCheckUtils]: 66: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,756 INFO L290 TraceCheckUtils]: 65: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,756 INFO L290 TraceCheckUtils]: 64: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,756 INFO L272 TraceCheckUtils]: 63: Hoare triple {6640#(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)); {6293#true} is VALID [2022-04-27 13:26:55,756 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6293#true} {6640#(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; {6640#(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:26:55,757 INFO L290 TraceCheckUtils]: 61: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,757 INFO L290 TraceCheckUtils]: 60: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,757 INFO L290 TraceCheckUtils]: 59: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,757 INFO L272 TraceCheckUtils]: 58: Hoare triple {6640#(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)); {6293#true} is VALID [2022-04-27 13:26:55,757 INFO L290 TraceCheckUtils]: 57: Hoare triple {6640#(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; {6640#(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:26:55,758 INFO L290 TraceCheckUtils]: 56: Hoare triple {6677#(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); {6640#(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:26:55,758 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6293#true} {6677#(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; {6677#(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:26:55,758 INFO L290 TraceCheckUtils]: 54: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,758 INFO L290 TraceCheckUtils]: 53: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L290 TraceCheckUtils]: 52: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L272 TraceCheckUtils]: 51: Hoare triple {6677#(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)); {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6293#true} {6677#(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; {6677#(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:26:55,759 INFO L290 TraceCheckUtils]: 49: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L290 TraceCheckUtils]: 48: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L290 TraceCheckUtils]: 47: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,759 INFO L272 TraceCheckUtils]: 46: Hoare triple {6677#(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)); {6293#true} is VALID [2022-04-27 13:26:55,760 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6293#true} {6677#(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; {6677#(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:26:55,760 INFO L290 TraceCheckUtils]: 44: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,760 INFO L290 TraceCheckUtils]: 43: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,760 INFO L290 TraceCheckUtils]: 42: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,760 INFO L272 TraceCheckUtils]: 41: Hoare triple {6677#(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)); {6293#true} is VALID [2022-04-27 13:26:55,760 INFO L290 TraceCheckUtils]: 40: Hoare triple {6677#(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; {6677#(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:26:55,761 INFO L290 TraceCheckUtils]: 39: Hoare triple {6729#(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; {6677#(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:26:55,762 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6293#true} {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 35: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L272 TraceCheckUtils]: 34: Hoare triple {6729#(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)); {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6293#true} {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 32: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 31: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L290 TraceCheckUtils]: 30: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,762 INFO L272 TraceCheckUtils]: 29: Hoare triple {6729#(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)); {6293#true} is VALID [2022-04-27 13:26:55,763 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6293#true} {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:26:55,763 INFO L290 TraceCheckUtils]: 27: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,763 INFO L290 TraceCheckUtils]: 26: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,763 INFO L290 TraceCheckUtils]: 25: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,763 INFO L272 TraceCheckUtils]: 24: Hoare triple {6729#(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)); {6293#true} is VALID [2022-04-27 13:26:55,763 INFO L290 TraceCheckUtils]: 23: Hoare triple {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 22: Hoare triple {6293#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6729#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:26:55,764 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6293#true} {6293#true} #85#return; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 20: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 19: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L272 TraceCheckUtils]: 17: Hoare triple {6293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6293#true} {6293#true} #83#return; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 13: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L272 TraceCheckUtils]: 12: Hoare triple {6293#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L290 TraceCheckUtils]: 11: Hoare triple {6293#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6293#true} is VALID [2022-04-27 13:26:55,764 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6293#true} {6293#true} #81#return; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 9: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 8: Hoare triple {6293#true} assume !(0 == ~cond); {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 7: Hoare triple {6293#true} ~cond := #in~cond; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L272 TraceCheckUtils]: 6: Hoare triple {6293#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 5: Hoare triple {6293#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; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L272 TraceCheckUtils]: 4: Hoare triple {6293#true} call #t~ret6 := main(); {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6293#true} {6293#true} #101#return; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {6293#true} assume true; {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L290 TraceCheckUtils]: 1: Hoare triple {6293#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); {6293#true} is VALID [2022-04-27 13:26:55,765 INFO L272 TraceCheckUtils]: 0: Hoare triple {6293#true} call ULTIMATE.init(); {6293#true} is VALID [2022-04-27 13:26:55,765 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:26:55,765 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:55,765 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64933779] [2022-04-27 13:26:55,766 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:55,766 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [830278456] [2022-04-27 13:26:55,766 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [830278456] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:26:55,766 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:26:55,766 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:26:55,767 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1161433834] [2022-04-27 13:26:55,767 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:26:55,768 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:26:55,768 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:55,768 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:26:55,849 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:26:55,849 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:26:55,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:55,850 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:26:55,850 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:26:55,851 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:26:57,093 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:57,093 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-04-27 13:26:57,093 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:26:57,094 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:26:57,094 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:57,094 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:26:57,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:26:57,095 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:26:57,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:26:57,096 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 13:26:57,165 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:26:57,166 INFO L225 Difference]: With dead ends: 119 [2022-04-27 13:26:57,166 INFO L226 Difference]: Without dead ends: 102 [2022-04-27 13:26:57,166 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:26:57,167 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 160 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 172 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 160 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:26:57,167 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 269 Invalid, 172 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 160 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 13:26:57,167 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-27 13:26:57,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-04-27 13:26:57,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:57,205 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:26:57,205 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:26:57,205 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:26:57,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:57,207 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:26:57,207 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:26:57,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:57,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:57,208 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:26:57,208 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:26:57,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:57,210 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:26:57,210 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:26:57,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:57,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:57,210 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:57,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:57,211 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:26:57,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 126 transitions. [2022-04-27 13:26:57,212 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 126 transitions. Word has length 91 [2022-04-27 13:26:57,213 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:57,213 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 126 transitions. [2022-04-27 13:26:57,213 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:26:57,213 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:26:57,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-27 13:26:57,213 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:57,214 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:26:57,239 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:26:57,427 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:26:57,427 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:57,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:57,428 INFO L85 PathProgramCache]: Analyzing trace with hash -941589367, now seen corresponding path program 1 times [2022-04-27 13:26:57,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:57,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [339950764] [2022-04-27 13:26:57,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:57,428 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:57,443 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:57,443 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2046836558] [2022-04-27 13:26:57,443 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:57,443 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:57,443 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:57,444 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:26:57,444 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:26:57,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:57,481 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:26:57,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:57,492 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:26:58,482 INFO L272 TraceCheckUtils]: 0: Hoare triple {7379#true} call ULTIMATE.init(); {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 1: Hoare triple {7379#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); {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 2: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7379#true} {7379#true} #101#return; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L272 TraceCheckUtils]: 4: Hoare triple {7379#true} call #t~ret6 := main(); {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 5: Hoare triple {7379#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; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L272 TraceCheckUtils]: 6: Hoare triple {7379#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 8: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 9: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7379#true} {7379#true} #81#return; {7379#true} is VALID [2022-04-27 13:26:58,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {7379#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L272 TraceCheckUtils]: 12: Hoare triple {7379#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 13: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 14: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 15: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7379#true} {7379#true} #83#return; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L272 TraceCheckUtils]: 17: Hoare triple {7379#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 19: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 20: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7379#true} {7379#true} #85#return; {7379#true} is VALID [2022-04-27 13:26:58,483 INFO L290 TraceCheckUtils]: 22: Hoare triple {7379#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7450#(<= 1 main_~p~0)} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 23: Hoare triple {7450#(<= 1 main_~p~0)} assume !false; {7450#(<= 1 main_~p~0)} is VALID [2022-04-27 13:26:58,484 INFO L272 TraceCheckUtils]: 24: Hoare triple {7450#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 25: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 26: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 27: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7379#true} {7450#(<= 1 main_~p~0)} #87#return; {7450#(<= 1 main_~p~0)} is VALID [2022-04-27 13:26:58,484 INFO L272 TraceCheckUtils]: 29: Hoare triple {7450#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 30: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,484 INFO L290 TraceCheckUtils]: 31: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,485 INFO L290 TraceCheckUtils]: 32: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,485 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7379#true} {7450#(<= 1 main_~p~0)} #89#return; {7450#(<= 1 main_~p~0)} is VALID [2022-04-27 13:26:58,485 INFO L272 TraceCheckUtils]: 34: Hoare triple {7450#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,485 INFO L290 TraceCheckUtils]: 35: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,485 INFO L290 TraceCheckUtils]: 36: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,485 INFO L290 TraceCheckUtils]: 37: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,486 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7379#true} {7450#(<= 1 main_~p~0)} #91#return; {7450#(<= 1 main_~p~0)} is VALID [2022-04-27 13:26:58,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {7450#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7502#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:26:58,486 INFO L290 TraceCheckUtils]: 40: Hoare triple {7502#(<= 1 (div main_~p~0 2))} assume !false; {7502#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:26:58,487 INFO L272 TraceCheckUtils]: 41: Hoare triple {7502#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 42: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 43: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 44: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7379#true} {7502#(<= 1 (div main_~p~0 2))} #87#return; {7502#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:26:58,487 INFO L272 TraceCheckUtils]: 46: Hoare triple {7502#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 47: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 48: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,487 INFO L290 TraceCheckUtils]: 49: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,488 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7379#true} {7502#(<= 1 (div main_~p~0 2))} #89#return; {7502#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:26:58,488 INFO L272 TraceCheckUtils]: 51: Hoare triple {7502#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,488 INFO L290 TraceCheckUtils]: 52: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,488 INFO L290 TraceCheckUtils]: 53: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,488 INFO L290 TraceCheckUtils]: 54: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,488 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7379#true} {7502#(<= 1 (div main_~p~0 2))} #91#return; {7502#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:26:58,489 INFO L290 TraceCheckUtils]: 56: Hoare triple {7502#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,489 INFO L290 TraceCheckUtils]: 57: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,489 INFO L272 TraceCheckUtils]: 58: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,489 INFO L290 TraceCheckUtils]: 59: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,489 INFO L290 TraceCheckUtils]: 60: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,489 INFO L290 TraceCheckUtils]: 61: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7379#true} {7554#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,490 INFO L272 TraceCheckUtils]: 63: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L290 TraceCheckUtils]: 64: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L290 TraceCheckUtils]: 65: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L290 TraceCheckUtils]: 66: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7379#true} {7554#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,490 INFO L272 TraceCheckUtils]: 68: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,490 INFO L290 TraceCheckUtils]: 69: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,491 INFO L290 TraceCheckUtils]: 70: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,491 INFO L290 TraceCheckUtils]: 71: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,491 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7379#true} {7554#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,491 INFO L290 TraceCheckUtils]: 73: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,491 INFO L290 TraceCheckUtils]: 74: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,492 INFO L272 TraceCheckUtils]: 75: Hoare triple {7554#(<= 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)); {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 76: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 77: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 78: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7379#true} {7554#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,492 INFO L272 TraceCheckUtils]: 80: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 81: Hoare triple {7379#true} ~cond := #in~cond; {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 82: Hoare triple {7379#true} assume !(0 == ~cond); {7379#true} is VALID [2022-04-27 13:26:58,492 INFO L290 TraceCheckUtils]: 83: Hoare triple {7379#true} assume true; {7379#true} is VALID [2022-04-27 13:26:58,493 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7379#true} {7554#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {7554#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:26:58,493 INFO L290 TraceCheckUtils]: 85: Hoare triple {7554#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L272 TraceCheckUtils]: 86: Hoare triple {7380#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L290 TraceCheckUtils]: 87: Hoare triple {7380#false} ~cond := #in~cond; {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L290 TraceCheckUtils]: 88: Hoare triple {7380#false} assume !(0 == ~cond); {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L290 TraceCheckUtils]: 89: Hoare triple {7380#false} assume true; {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7380#false} {7380#false} #97#return; {7380#false} is VALID [2022-04-27 13:26:58,493 INFO L272 TraceCheckUtils]: 91: Hoare triple {7380#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {7380#false} is VALID [2022-04-27 13:26:58,494 INFO L290 TraceCheckUtils]: 92: Hoare triple {7380#false} ~cond := #in~cond; {7380#false} is VALID [2022-04-27 13:26:58,494 INFO L290 TraceCheckUtils]: 93: Hoare triple {7380#false} assume 0 == ~cond; {7380#false} is VALID [2022-04-27 13:26:58,494 INFO L290 TraceCheckUtils]: 94: Hoare triple {7380#false} assume !false; {7380#false} is VALID [2022-04-27 13:26:58,494 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:26:58,494 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:26:58,494 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:26:58,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [339950764] [2022-04-27 13:26:58,494 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:26:58,494 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2046836558] [2022-04-27 13:26:58,494 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2046836558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:26:58,494 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:26:58,494 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:26:58,495 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1601941164] [2022-04-27 13:26:58,495 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:26:58,495 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:26:58,495 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:26:58,495 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:26:58,539 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:26:58,539 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:26:58,539 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:26:58,540 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:26:58,540 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:26:58,540 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:26:58,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:58,734 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-04-27 13:26:58,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:26:58,734 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:26:58,734 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:26:58,734 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:26:58,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:26:58,735 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:26:58,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:26:58,736 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-27 13:26:58,798 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:26:58,799 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:26:58,799 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 13:26:58,799 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:26:58,800 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:26:58,800 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:26:58,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 13:26:58,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-27 13:26:58,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:26:58,842 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:26:58,842 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:26:58,842 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:26:58,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:58,844 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:26:58,844 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:26:58,845 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:58,845 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:58,845 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:26:58,845 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:26:58,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:26:58,847 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:26:58,847 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:26:58,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:26:58,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:26:58,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:26:58,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:26:58,847 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:26:58,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 127 transitions. [2022-04-27 13:26:58,849 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 127 transitions. Word has length 95 [2022-04-27 13:26:58,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:26:58,849 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 127 transitions. [2022-04-27 13:26:58,849 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:26:58,849 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:26:58,850 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-27 13:26:58,850 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:26:58,850 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:26:58,866 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:26:59,063 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:59,063 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:26:59,064 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:26:59,064 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 3 times [2022-04-27 13:26:59,064 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:26:59,064 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [772266275] [2022-04-27 13:26:59,064 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:26:59,064 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:26:59,073 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:26:59,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1168886788] [2022-04-27 13:26:59,073 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:26:59,073 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:26:59,073 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:26:59,074 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:26:59,075 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:26:59,131 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:26:59,131 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:26:59,132 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-27 13:26:59,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:26:59,175 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:27:00,818 INFO L272 TraceCheckUtils]: 0: Hoare triple {8192#true} call ULTIMATE.init(); {8192#true} is VALID [2022-04-27 13:27:00,818 INFO L290 TraceCheckUtils]: 1: Hoare triple {8192#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); {8192#true} is VALID [2022-04-27 13:27:00,818 INFO L290 TraceCheckUtils]: 2: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,818 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8192#true} {8192#true} #101#return; {8192#true} is VALID [2022-04-27 13:27:00,818 INFO L272 TraceCheckUtils]: 4: Hoare triple {8192#true} call #t~ret6 := main(); {8192#true} is VALID [2022-04-27 13:27:00,818 INFO L290 TraceCheckUtils]: 5: Hoare triple {8192#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; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L272 TraceCheckUtils]: 6: Hoare triple {8192#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 7: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 8: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8192#true} {8192#true} #81#return; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {8192#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L272 TraceCheckUtils]: 12: Hoare triple {8192#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8192#true} {8192#true} #83#return; {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L272 TraceCheckUtils]: 17: Hoare triple {8192#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,819 INFO L290 TraceCheckUtils]: 18: Hoare triple {8192#true} ~cond := #in~cond; {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:27:00,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {8251#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:27:00,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8255#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:27:00,820 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8255#(not (= |assume_abort_if_not_#in~cond| 0))} {8192#true} #85#return; {8262#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:27:00,821 INFO L290 TraceCheckUtils]: 22: Hoare triple {8262#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,821 INFO L290 TraceCheckUtils]: 23: Hoare triple {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,821 INFO L272 TraceCheckUtils]: 24: Hoare triple {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,821 INFO L290 TraceCheckUtils]: 27: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,822 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8192#true} {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,822 INFO L272 TraceCheckUtils]: 29: Hoare triple {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,822 INFO L290 TraceCheckUtils]: 30: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,822 INFO L290 TraceCheckUtils]: 31: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,822 INFO L290 TraceCheckUtils]: 32: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,823 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8192#true} {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,823 INFO L272 TraceCheckUtils]: 34: Hoare triple {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,823 INFO L290 TraceCheckUtils]: 35: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,823 INFO L290 TraceCheckUtils]: 36: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,823 INFO L290 TraceCheckUtils]: 37: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,823 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8192#true} {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,824 INFO L290 TraceCheckUtils]: 39: Hoare triple {8266#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,824 INFO L290 TraceCheckUtils]: 40: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,825 INFO L272 TraceCheckUtils]: 41: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 42: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 43: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 44: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8192#true} {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,825 INFO L272 TraceCheckUtils]: 46: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 47: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 48: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,825 INFO L290 TraceCheckUtils]: 49: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,826 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8192#true} {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,826 INFO L272 TraceCheckUtils]: 51: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,826 INFO L290 TraceCheckUtils]: 52: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,826 INFO L290 TraceCheckUtils]: 53: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,826 INFO L290 TraceCheckUtils]: 54: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,827 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8192#true} {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,828 INFO L290 TraceCheckUtils]: 56: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,828 INFO L290 TraceCheckUtils]: 57: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,828 INFO L272 TraceCheckUtils]: 58: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,828 INFO L290 TraceCheckUtils]: 59: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,828 INFO L290 TraceCheckUtils]: 60: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,828 INFO L290 TraceCheckUtils]: 61: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,830 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8192#true} {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,830 INFO L272 TraceCheckUtils]: 63: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,830 INFO L290 TraceCheckUtils]: 64: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,830 INFO L290 TraceCheckUtils]: 65: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,830 INFO L290 TraceCheckUtils]: 66: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,831 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8192#true} {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,831 INFO L272 TraceCheckUtils]: 68: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,831 INFO L290 TraceCheckUtils]: 69: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,831 INFO L290 TraceCheckUtils]: 70: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,831 INFO L290 TraceCheckUtils]: 71: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,835 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8192#true} {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,835 INFO L290 TraceCheckUtils]: 73: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,835 INFO L290 TraceCheckUtils]: 74: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,836 INFO L272 TraceCheckUtils]: 75: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L290 TraceCheckUtils]: 76: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L290 TraceCheckUtils]: 77: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L290 TraceCheckUtils]: 78: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8192#true} {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,836 INFO L272 TraceCheckUtils]: 80: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L290 TraceCheckUtils]: 81: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,836 INFO L290 TraceCheckUtils]: 82: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,837 INFO L290 TraceCheckUtils]: 83: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,837 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8192#true} {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:27:00,838 INFO L290 TraceCheckUtils]: 85: Hoare triple {8370#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0) (= main_~p~0 4))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:27:00,839 INFO L290 TraceCheckUtils]: 86: Hoare triple {8318#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8461#(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)))} is VALID [2022-04-27 13:27:00,839 INFO L290 TraceCheckUtils]: 87: Hoare triple {8461#(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)))} assume !false; {8461#(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)))} is VALID [2022-04-27 13:27:00,839 INFO L272 TraceCheckUtils]: 88: Hoare triple {8461#(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)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,839 INFO L290 TraceCheckUtils]: 89: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,839 INFO L290 TraceCheckUtils]: 90: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,839 INFO L290 TraceCheckUtils]: 91: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,840 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8192#true} {8461#(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)))} #93#return; {8461#(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)))} is VALID [2022-04-27 13:27:00,840 INFO L272 TraceCheckUtils]: 93: Hoare triple {8461#(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)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:00,840 INFO L290 TraceCheckUtils]: 94: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:00,840 INFO L290 TraceCheckUtils]: 95: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:00,840 INFO L290 TraceCheckUtils]: 96: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:00,841 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8192#true} {8461#(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)))} #95#return; {8461#(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)))} is VALID [2022-04-27 13:27:00,842 INFO L290 TraceCheckUtils]: 98: Hoare triple {8461#(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)))} 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); {8498#(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)) (= main_~p~0 1))} is VALID [2022-04-27 13:27:00,842 INFO L290 TraceCheckUtils]: 99: Hoare triple {8498#(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)) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8502#(and (= (+ (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))} is VALID [2022-04-27 13:27:00,843 INFO L290 TraceCheckUtils]: 100: Hoare triple {8502#(and (= (+ (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))} assume !false; {8502#(and (= (+ (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))} is VALID [2022-04-27 13:27:00,843 INFO L272 TraceCheckUtils]: 101: Hoare triple {8502#(and (= (+ (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))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8509#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:27:00,844 INFO L290 TraceCheckUtils]: 102: Hoare triple {8509#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8513#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:00,844 INFO L290 TraceCheckUtils]: 103: Hoare triple {8513#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8193#false} is VALID [2022-04-27 13:27:00,844 INFO L290 TraceCheckUtils]: 104: Hoare triple {8193#false} assume !false; {8193#false} is VALID [2022-04-27 13:27:00,845 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 32 proven. 24 refuted. 0 times theorem prover too weak. 318 trivial. 0 not checked. [2022-04-27 13:27:00,845 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:27:50,014 INFO L290 TraceCheckUtils]: 104: Hoare triple {8193#false} assume !false; {8193#false} is VALID [2022-04-27 13:27:50,015 INFO L290 TraceCheckUtils]: 103: Hoare triple {8513#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8193#false} is VALID [2022-04-27 13:27:50,015 INFO L290 TraceCheckUtils]: 102: Hoare triple {8509#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8513#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:27:50,016 INFO L272 TraceCheckUtils]: 101: Hoare triple {8529#(= (+ 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)); {8509#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:27:50,016 INFO L290 TraceCheckUtils]: 100: Hoare triple {8529#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {8529#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:27:50,018 INFO L290 TraceCheckUtils]: 99: Hoare triple {8536#(= (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; {8529#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:27:50,028 INFO L290 TraceCheckUtils]: 98: Hoare triple {8540#(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); {8536#(= (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:27:50,029 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8192#true} {8540#(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)))))} #95#return; {8540#(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:27:50,029 INFO L290 TraceCheckUtils]: 96: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,029 INFO L290 TraceCheckUtils]: 95: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,029 INFO L290 TraceCheckUtils]: 94: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,029 INFO L272 TraceCheckUtils]: 93: Hoare triple {8540#(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)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,029 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8192#true} {8540#(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)))))} #93#return; {8540#(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:27:50,029 INFO L290 TraceCheckUtils]: 91: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,029 INFO L290 TraceCheckUtils]: 90: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,030 INFO L290 TraceCheckUtils]: 89: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,030 INFO L272 TraceCheckUtils]: 88: Hoare triple {8540#(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)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,031 INFO L290 TraceCheckUtils]: 87: Hoare triple {8540#(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 !false; {8540#(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:27:50,045 INFO L290 TraceCheckUtils]: 86: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {8540#(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:27:50,289 INFO L290 TraceCheckUtils]: 85: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 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); {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,290 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8192#true} {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #95#return; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,290 INFO L290 TraceCheckUtils]: 83: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,290 INFO L290 TraceCheckUtils]: 82: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,290 INFO L290 TraceCheckUtils]: 81: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,290 INFO L272 TraceCheckUtils]: 80: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,293 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8192#true} {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #93#return; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,293 INFO L290 TraceCheckUtils]: 78: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,293 INFO L290 TraceCheckUtils]: 77: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,293 INFO L290 TraceCheckUtils]: 76: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,293 INFO L272 TraceCheckUtils]: 75: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,297 INFO L290 TraceCheckUtils]: 74: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} assume !false; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,300 INFO L290 TraceCheckUtils]: 73: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} assume !(~r~0 >= ~d~0); {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,301 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8192#true} {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #91#return; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,301 INFO L290 TraceCheckUtils]: 71: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,301 INFO L290 TraceCheckUtils]: 70: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,301 INFO L290 TraceCheckUtils]: 69: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,301 INFO L272 TraceCheckUtils]: 68: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,308 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8192#true} {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #89#return; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,308 INFO L290 TraceCheckUtils]: 66: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,308 INFO L290 TraceCheckUtils]: 65: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,308 INFO L290 TraceCheckUtils]: 64: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,308 INFO L272 TraceCheckUtils]: 63: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,309 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8192#true} {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} #87#return; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,309 INFO L290 TraceCheckUtils]: 61: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,309 INFO L290 TraceCheckUtils]: 60: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,309 INFO L290 TraceCheckUtils]: 59: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,309 INFO L272 TraceCheckUtils]: 58: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,312 INFO L290 TraceCheckUtils]: 57: Hoare triple {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} assume !false; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,404 INFO L290 TraceCheckUtils]: 56: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8581#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (and (or (= 0 (mod (+ (div main_~d~0 2) 1) 2)) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (mod (+ (div main_~p~0 2) 1) 2) 0) (= (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)) (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))))))) (or (and (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) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2))))) (= (mod main_~p~0 2) 0)) (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (and (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 2) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0))) (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)))))) (= 0 (mod (+ (div main_~d~0 2) 1) 2))) (or (and (or (= (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))) (or (= (+ (- 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) (div main_~d~0 2)) (* (- 1) (div (+ (div main_~d~0 2) 1) 2))) (mod main_~A~0 4294967296)) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))))) (not (= 0 (mod (+ (div main_~d~0 2) 1) 2)))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (and (or (not (< (div main_~d~0 2) 0)) (and (or (= (mod main_~A~0 4294967296) (+ (- 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) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0)))) (or (= (mod (div main_~p~0 2) 2) 0) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< (div main_~p~0 2) 0)))) (= (mod (div main_~d~0 2) 2) 0)) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (and (< (div main_~p~0 2) 0) (not (= (mod (div main_~p~0 2) 2) 0))) (= (mod main_~A~0 4294967296) (+ (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (div main_~p~0 2) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod (div main_~p~0 2) 2) 0) (not (< (div main_~p~0 2) 0))))))) (or (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0) (and (or (not (< (div main_~d~0 2) 0)) (= (mod (div main_~d~0 2) 2) 0) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2) 1) (mod main_~B~0 4294967296))))) (or (= (+ (* (+ main_~q~0 2 (div (+ (div main_~p~0 2) 1) 2) (div main_~p~0 2)) (mod main_~B~0 4294967296)) (- 1) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))) (or (and (< (div main_~d~0 2) 0) (not (= (mod (div main_~d~0 2) 2) 0))) (and (or (not (= (mod (+ (div main_~p~0 2) 1) 2) 0)) (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div (+ (div main_~p~0 2) 1) 2) (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)) main_~r~0 (* (- 1) (div (div main_~d~0 2) 2)) (* (- 1) (div main_~d~0 2)))) (= (mod (+ (div main_~p~0 2) 1) 2) 0)))))))))} is VALID [2022-04-27 13:27:50,404 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8192#true} {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} #91#return; {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,404 INFO L290 TraceCheckUtils]: 54: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L290 TraceCheckUtils]: 53: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L290 TraceCheckUtils]: 52: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L272 TraceCheckUtils]: 51: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8192#true} {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} #89#return; {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,405 INFO L290 TraceCheckUtils]: 49: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L290 TraceCheckUtils]: 48: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L290 TraceCheckUtils]: 47: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,405 INFO L272 TraceCheckUtils]: 46: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,406 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8192#true} {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} #87#return; {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,406 INFO L290 TraceCheckUtils]: 44: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,406 INFO L290 TraceCheckUtils]: 43: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,406 INFO L290 TraceCheckUtils]: 42: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,406 INFO L272 TraceCheckUtils]: 41: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} assume !false; {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,410 INFO L290 TraceCheckUtils]: 39: Hoare triple {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8577#(and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (not (< main_~p~0 0)) (= (+ (* (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)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))))) (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))))} is VALID [2022-04-27 13:27:50,411 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8192#true} {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #91#return; {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:27:50,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,411 INFO L290 TraceCheckUtils]: 35: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,411 INFO L272 TraceCheckUtils]: 34: Hoare triple {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,412 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8192#true} {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #89#return; {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:27:50,412 INFO L290 TraceCheckUtils]: 32: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,412 INFO L290 TraceCheckUtils]: 31: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,412 INFO L290 TraceCheckUtils]: 30: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,412 INFO L272 TraceCheckUtils]: 29: Hoare triple {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,412 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8192#true} {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} #87#return; {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:27:50,413 INFO L290 TraceCheckUtils]: 27: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,413 INFO L290 TraceCheckUtils]: 26: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,413 INFO L290 TraceCheckUtils]: 25: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,413 INFO L272 TraceCheckUtils]: 24: Hoare triple {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,413 INFO L290 TraceCheckUtils]: 23: Hoare triple {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} assume !false; {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:27:50,414 INFO L290 TraceCheckUtils]: 22: Hoare triple {8192#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8720#(= (+ (mod main_~A~0 4294967296) (* main_~d~0 3)) (+ main_~r~0 (* 3 (* main_~p~0 (mod main_~B~0 4294967296))) (* main_~q~0 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:27:50,415 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8192#true} {8192#true} #85#return; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 18: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L272 TraceCheckUtils]: 17: Hoare triple {8192#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8192#true} {8192#true} #83#return; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 15: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 14: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 13: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L272 TraceCheckUtils]: 12: Hoare triple {8192#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 11: Hoare triple {8192#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8192#true} {8192#true} #81#return; {8192#true} is VALID [2022-04-27 13:27:50,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L290 TraceCheckUtils]: 8: Hoare triple {8192#true} assume !(0 == ~cond); {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L290 TraceCheckUtils]: 7: Hoare triple {8192#true} ~cond := #in~cond; {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L272 TraceCheckUtils]: 6: Hoare triple {8192#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L290 TraceCheckUtils]: 5: Hoare triple {8192#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; {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L272 TraceCheckUtils]: 4: Hoare triple {8192#true} call #t~ret6 := main(); {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8192#true} {8192#true} #101#return; {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {8192#true} assume true; {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L290 TraceCheckUtils]: 1: Hoare triple {8192#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); {8192#true} is VALID [2022-04-27 13:27:50,416 INFO L272 TraceCheckUtils]: 0: Hoare triple {8192#true} call ULTIMATE.init(); {8192#true} is VALID [2022-04-27 13:27:50,417 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 26 proven. 19 refuted. 5 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-27 13:27:50,417 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:27:50,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [772266275] [2022-04-27 13:27:50,417 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:27:50,417 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1168886788] [2022-04-27 13:27:50,417 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1168886788] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:27:50,417 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:27:50,417 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 19 [2022-04-27 13:27:50,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [971671339] [2022-04-27 13:27:50,418 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:27:50,418 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) Word has length 105 [2022-04-27 13:27:50,418 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:27:50,418 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:27:50,910 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:27:50,910 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-04-27 13:27:50,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:27:50,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-04-27 13:27:50,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=275, Unknown=3, NotChecked=0, Total=342 [2022-04-27 13:27:50,911 INFO L87 Difference]: Start difference. First operand 104 states and 127 transitions. Second operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:29:14,748 WARN L232 SmtUtils]: Spent 1.29m on a formula simplification. DAG size of input: 196 DAG size of output: 46 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:29:16,816 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:29:21,103 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:29:22,292 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:29:23,998 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.63s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:29:30,040 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:29:34,060 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:29:36,110 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:29:38,330 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:29:39,628 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.26s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:29:41,711 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:29:43,714 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:29:46,616 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:29:48,624 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:29:50,628 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:29:53,776 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.14s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:30:35,467 WARN L232 SmtUtils]: Spent 31.59s on a formula simplification. DAG size of input: 173 DAG size of output: 35 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:30:43,629 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:30:45,639 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:30:46,949 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:30:48,951 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:30:50,976 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:30:52,979 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:30:54,981 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:30:58,806 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.82s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:31:00,815 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:31:04,461 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.64s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:31:21,831 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.54s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:31:25,015 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.18s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:31:29,061 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:31:31,066 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:31:32,810 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.56s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:31:34,812 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:31:41,569 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:31:43,789 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:31:45,792 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:31:47,795 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:31:49,798 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:32:01,989 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.65s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:32:11,934 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:32:15,662 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:32:15,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:15,787 INFO L93 Difference]: Finished difference Result 237 states and 319 transitions. [2022-04-27 13:32:15,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 13:32:15,787 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) Word has length 105 [2022-04-27 13:32:15,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:32:15,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:32:15,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 200 transitions. [2022-04-27 13:32:15,790 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:32:15,792 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 200 transitions. [2022-04-27 13:32:15,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 200 transitions. [2022-04-27 13:32:22,047 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 197 inductive. 0 not inductive. 3 times theorem prover too weak to decide inductivity. [2022-04-27 13:32:22,050 INFO L225 Difference]: With dead ends: 237 [2022-04-27 13:32:22,050 INFO L226 Difference]: Without dead ends: 184 [2022-04-27 13:32:22,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 219 GetRequests, 189 SyntacticMatches, 5 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 134 ImplicationChecksByTransitivity, 132.5s TimeCoverageRelationStatistics Valid=139, Invalid=559, Unknown=4, NotChecked=0, Total=702 [2022-04-27 13:32:22,051 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 107 mSDsluCounter, 291 mSDsCounter, 0 mSdLazyCounter, 1126 mSolverCounterSat, 224 mSolverCounterUnsat, 28 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 86.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 121 SdHoareTripleChecker+Valid, 355 SdHoareTripleChecker+Invalid, 1378 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 224 IncrementalHoareTripleChecker+Valid, 1126 IncrementalHoareTripleChecker+Invalid, 28 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 86.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:32:22,051 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [121 Valid, 355 Invalid, 1378 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [224 Valid, 1126 Invalid, 28 Unknown, 0 Unchecked, 86.4s Time] [2022-04-27 13:32:22,051 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2022-04-27 13:32:22,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 159. [2022-04-27 13:32:22,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:32:22,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:32:22,125 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:32:22,126 INFO L87 Difference]: Start difference. First operand 184 states. Second operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:32:22,129 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:22,129 INFO L93 Difference]: Finished difference Result 184 states and 246 transitions. [2022-04-27 13:32:22,129 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 246 transitions. [2022-04-27 13:32:22,130 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:32:22,130 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:32:22,130 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 184 states. [2022-04-27 13:32:22,130 INFO L87 Difference]: Start difference. First operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 184 states. [2022-04-27 13:32:22,133 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:32:22,134 INFO L93 Difference]: Finished difference Result 184 states and 246 transitions. [2022-04-27 13:32:22,134 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 246 transitions. [2022-04-27 13:32:22,134 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:32:22,134 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:32:22,134 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:32:22,134 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:32:22,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 94 states have (on average 1.1595744680851063) internal successors, (109), 100 states have internal predecessors, (109), 48 states have call successors, (48), 17 states have call predecessors, (48), 16 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-27 13:32:22,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 203 transitions. [2022-04-27 13:32:22,137 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 203 transitions. Word has length 105 [2022-04-27 13:32:22,137 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:32:22,137 INFO L495 AbstractCegarLoop]: Abstraction has 159 states and 203 transitions. [2022-04-27 13:32:22,138 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 19 states have (on average 2.3157894736842106) internal successors, (44), 17 states have internal predecessors, (44), 11 states have call successors, (33), 2 states have call predecessors, (33), 2 states have return successors, (31), 10 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:32:22,138 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 203 transitions. [2022-04-27 13:32:22,138 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-27 13:32:22,138 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:32:22,139 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:32:22,165 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-27 13:32:22,351 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-27 13:32:22,351 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:32:22,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:32:22,352 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 2 times [2022-04-27 13:32:22,352 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:32:22,352 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1582221540] [2022-04-27 13:32:22,352 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:32:22,352 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:32:22,363 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:32:22,364 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [417863262] [2022-04-27 13:32:22,364 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:32:22,364 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:32:22,364 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:32:22,365 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:32:22,365 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-27 13:32:22,475 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:32:22,475 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:32:22,476 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 49 conjunts are in the unsatisfiable core [2022-04-27 13:32:22,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:32:22,496 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:32:46,328 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-27 13:33:09,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {9801#true} call ULTIMATE.init(); {9801#true} is VALID [2022-04-27 13:33:09,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {9801#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); {9801#true} is VALID [2022-04-27 13:33:09,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9801#true} {9801#true} #101#return; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {9801#true} call #t~ret6 := main(); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 5: Hoare triple {9801#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; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L272 TraceCheckUtils]: 6: Hoare triple {9801#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9801#true} {9801#true} #81#return; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 11: Hoare triple {9801#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L272 TraceCheckUtils]: 12: Hoare triple {9801#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9801#true} {9801#true} #83#return; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L272 TraceCheckUtils]: 17: Hoare triple {9801#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 18: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,718 INFO L290 TraceCheckUtils]: 19: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,719 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9801#true} {9801#true} #85#return; {9801#true} is VALID [2022-04-27 13:33:09,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {9801#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9872#(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:33:09,732 INFO L290 TraceCheckUtils]: 23: Hoare triple {9872#(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; {9872#(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:33:09,732 INFO L272 TraceCheckUtils]: 24: Hoare triple {9872#(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)); {9801#true} is VALID [2022-04-27 13:33:09,732 INFO L290 TraceCheckUtils]: 25: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,732 INFO L290 TraceCheckUtils]: 26: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,732 INFO L290 TraceCheckUtils]: 27: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,732 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9801#true} {9872#(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; {9872#(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:33:09,733 INFO L272 TraceCheckUtils]: 29: Hoare triple {9872#(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)); {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 30: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 31: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 32: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9801#true} {9872#(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; {9872#(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:33:09,733 INFO L272 TraceCheckUtils]: 34: Hoare triple {9872#(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)); {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 35: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 36: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,733 INFO L290 TraceCheckUtils]: 37: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,734 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9801#true} {9872#(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; {9872#(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:33:09,735 INFO L290 TraceCheckUtils]: 39: Hoare triple {9872#(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; {9924#(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))} is VALID [2022-04-27 13:33:09,736 INFO L290 TraceCheckUtils]: 40: Hoare triple {9924#(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))} assume !false; {9924#(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))} is VALID [2022-04-27 13:33:09,736 INFO L272 TraceCheckUtils]: 41: Hoare triple {9924#(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))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,736 INFO L290 TraceCheckUtils]: 42: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,736 INFO L290 TraceCheckUtils]: 43: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,736 INFO L290 TraceCheckUtils]: 44: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9801#true} {9924#(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))} #87#return; {9924#(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))} is VALID [2022-04-27 13:33:09,737 INFO L272 TraceCheckUtils]: 46: Hoare triple {9924#(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))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L290 TraceCheckUtils]: 47: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L290 TraceCheckUtils]: 48: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L290 TraceCheckUtils]: 49: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9801#true} {9924#(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))} #89#return; {9924#(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))} is VALID [2022-04-27 13:33:09,737 INFO L272 TraceCheckUtils]: 51: Hoare triple {9924#(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))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L290 TraceCheckUtils]: 52: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,737 INFO L290 TraceCheckUtils]: 53: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,738 INFO L290 TraceCheckUtils]: 54: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,738 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9801#true} {9924#(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))} #91#return; {9924#(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))} is VALID [2022-04-27 13:33:09,739 INFO L290 TraceCheckUtils]: 56: Hoare triple {9924#(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))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,739 INFO L290 TraceCheckUtils]: 57: Hoare triple {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,739 INFO L272 TraceCheckUtils]: 58: Hoare triple {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,739 INFO L290 TraceCheckUtils]: 59: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,739 INFO L290 TraceCheckUtils]: 60: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,740 INFO L290 TraceCheckUtils]: 61: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,740 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9801#true} {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #87#return; {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,740 INFO L272 TraceCheckUtils]: 63: Hoare triple {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,740 INFO L290 TraceCheckUtils]: 64: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,740 INFO L290 TraceCheckUtils]: 65: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,740 INFO L290 TraceCheckUtils]: 66: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,741 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9801#true} {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #89#return; {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,741 INFO L272 TraceCheckUtils]: 68: Hoare triple {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,741 INFO L290 TraceCheckUtils]: 69: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,741 INFO L290 TraceCheckUtils]: 70: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,741 INFO L290 TraceCheckUtils]: 71: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,741 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9801#true} {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} #91#return; {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,742 INFO L290 TraceCheckUtils]: 73: Hoare triple {9976#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4))} assume !(~r~0 >= ~d~0); {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,742 INFO L290 TraceCheckUtils]: 74: Hoare triple {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} assume !false; {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,742 INFO L272 TraceCheckUtils]: 75: Hoare triple {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= 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)); {9801#true} is VALID [2022-04-27 13:33:09,742 INFO L290 TraceCheckUtils]: 76: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,742 INFO L290 TraceCheckUtils]: 77: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,742 INFO L290 TraceCheckUtils]: 78: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,743 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9801#true} {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #93#return; {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,743 INFO L272 TraceCheckUtils]: 80: Hoare triple {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,743 INFO L290 TraceCheckUtils]: 81: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,743 INFO L290 TraceCheckUtils]: 82: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,743 INFO L290 TraceCheckUtils]: 83: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,744 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9801#true} {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} #95#return; {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (= main_~p~0 4))} is VALID [2022-04-27 13:33:09,745 INFO L290 TraceCheckUtils]: 85: Hoare triple {10028#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (not (<= main_~d~0 main_~r~0)) (= 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); {10065#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} is VALID [2022-04-27 13:33:09,746 INFO L290 TraceCheckUtils]: 86: Hoare triple {10065#(and (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= main_~p~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) main_~r~0)) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:33:09,747 INFO L290 TraceCheckUtils]: 87: Hoare triple {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !false; {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:33:09,747 INFO L272 TraceCheckUtils]: 88: Hoare triple {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (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)); {9801#true} is VALID [2022-04-27 13:33:09,747 INFO L290 TraceCheckUtils]: 89: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,747 INFO L290 TraceCheckUtils]: 90: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,747 INFO L290 TraceCheckUtils]: 91: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,747 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9801#true} {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #93#return; {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:33:09,748 INFO L272 TraceCheckUtils]: 93: Hoare triple {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,748 INFO L290 TraceCheckUtils]: 94: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:09,748 INFO L290 TraceCheckUtils]: 95: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:09,748 INFO L290 TraceCheckUtils]: 96: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:09,748 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9801#true} {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} #95#return; {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:33:09,749 INFO L290 TraceCheckUtils]: 98: Hoare triple {10069#(and (= main_~q~0 main_~p~0) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= main_~d~0 (div (* (mod main_~B~0 4294967296) 4) 2)) (= (+ (* (- 1) main_~d~0) (mod main_~A~0 4294967296)) main_~r~0) (= main_~p~0 2) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {10106#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} is VALID [2022-04-27 13:33:09,751 INFO L290 TraceCheckUtils]: 99: Hoare triple {10106#(and (= main_~p~0 (div main_~q~0 2)) (= main_~q~0 2) (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2))) main_~r~0) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} is VALID [2022-04-27 13:33:09,751 INFO L290 TraceCheckUtils]: 100: Hoare triple {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} assume !false; {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} is VALID [2022-04-27 13:33:09,751 INFO L272 TraceCheckUtils]: 101: Hoare triple {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,751 INFO L290 TraceCheckUtils]: 102: Hoare triple {9801#true} ~cond := #in~cond; {10120#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:33:09,752 INFO L290 TraceCheckUtils]: 103: Hoare triple {10120#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:09,752 INFO L290 TraceCheckUtils]: 104: Hoare triple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:09,752 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} #93#return; {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} is VALID [2022-04-27 13:33:09,752 INFO L272 TraceCheckUtils]: 106: Hoare triple {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:09,753 INFO L290 TraceCheckUtils]: 107: Hoare triple {9801#true} ~cond := #in~cond; {10120#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:33:09,753 INFO L290 TraceCheckUtils]: 108: Hoare triple {10120#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:09,753 INFO L290 TraceCheckUtils]: 109: Hoare triple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:09,758 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} {10110#(and (not (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (= (+ main_~d~0 main_~r~0) (+ (mod main_~A~0 4294967296) (* (- 1) (div (* (mod main_~B~0 4294967296) 4) 2)))) (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= main_~d~0 (div (div (* (mod main_~B~0 4294967296) 4) 2) 2)))} #95#return; {10146#(and (= main_~d~0 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (<= (* 2 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (mod main_~A~0 4294967296)) (<= 0 (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (< (div (+ (- 1) (* (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4) (* (- 1) (mod main_~A~0 4294967296))) (- 17179869184)) (+ (div (+ 4294967295 (* (- 1) (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)))) 4294967296) 1)) (< (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296))} is VALID [2022-04-27 13:33:09,758 INFO L290 TraceCheckUtils]: 111: Hoare triple {10146#(and (= main_~d~0 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (<= (* 2 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (mod main_~A~0 4294967296)) (<= 0 (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (= 2 (+ main_~q~0 (* (- 1) main_~p~0))) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (< (div (+ (- 1) (* (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4) (* (- 1) (mod main_~A~0 4294967296))) (- 17179869184)) (+ (div (+ 4294967295 (* (- 1) (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)))) 4294967296) 1)) (< (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296))} assume !(1 != ~p~0); {10150#(and (= main_~d~0 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (<= (* 2 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (mod main_~A~0 4294967296)) (<= 0 (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (= (+ (- 2) main_~q~0) 1) (< (div (+ (- 1) (* (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4) (* (- 1) (mod main_~A~0 4294967296))) (- 17179869184)) (+ (div (+ 4294967295 (* (- 1) (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)))) 4294967296) 1)) (< (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296))} is VALID [2022-04-27 13:33:09,762 INFO L272 TraceCheckUtils]: 112: Hoare triple {10150#(and (= main_~d~0 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (= (mod (+ (mod main_~A~0 4294967296) main_~d~0 main_~r~0) 2) 0) (<= (* 2 (mod (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296)) (mod main_~A~0 4294967296)) (<= 0 (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2))) (= (+ (- 2) main_~q~0) 1) (< (div (+ (- 1) (* (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4) (* (- 1) (mod main_~A~0 4294967296))) (- 17179869184)) (+ (div (+ 4294967295 (* (- 1) (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)))) 4294967296) 1)) (< (div (+ main_~d~0 main_~r~0 (* (- 1) (mod main_~A~0 4294967296))) (- 2)) 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {10154#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:33:09,763 INFO L290 TraceCheckUtils]: 113: Hoare triple {10154#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10158#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:33:09,763 INFO L290 TraceCheckUtils]: 114: Hoare triple {10158#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9802#false} is VALID [2022-04-27 13:33:09,763 INFO L290 TraceCheckUtils]: 115: Hoare triple {9802#false} assume !false; {9802#false} is VALID [2022-04-27 13:33:09,763 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 106 proven. 30 refuted. 0 times theorem prover too weak. 354 trivial. 0 not checked. [2022-04-27 13:33:09,763 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:33:47,142 INFO L290 TraceCheckUtils]: 115: Hoare triple {9802#false} assume !false; {9802#false} is VALID [2022-04-27 13:33:47,143 INFO L290 TraceCheckUtils]: 114: Hoare triple {10158#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9802#false} is VALID [2022-04-27 13:33:47,143 INFO L290 TraceCheckUtils]: 113: Hoare triple {10154#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10158#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:33:47,144 INFO L272 TraceCheckUtils]: 112: Hoare triple {10174#(= (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)); {10154#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:33:47,144 INFO L290 TraceCheckUtils]: 111: Hoare triple {10178#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {10174#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:33:47,145 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} {10182#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} #95#return; {10178#(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:33:47,145 INFO L290 TraceCheckUtils]: 109: Hoare triple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:47,145 INFO L290 TraceCheckUtils]: 108: Hoare triple {10192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:47,145 INFO L290 TraceCheckUtils]: 107: Hoare triple {9801#true} ~cond := #in~cond; {10192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:33:47,146 INFO L272 TraceCheckUtils]: 106: Hoare triple {10182#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,149 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} {9801#true} #93#return; {10182#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:33:47,149 INFO L290 TraceCheckUtils]: 104: Hoare triple {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:47,149 INFO L290 TraceCheckUtils]: 103: Hoare triple {10192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10124#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:33:47,149 INFO L290 TraceCheckUtils]: 102: Hoare triple {9801#true} ~cond := #in~cond; {10192#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:33:47,150 INFO L272 TraceCheckUtils]: 101: Hoare triple {9801#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 100: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 99: Hoare triple {9801#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 98: Hoare triple {9801#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {9801#true} {9801#true} #95#return; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 96: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 95: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 94: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L272 TraceCheckUtils]: 93: Hoare triple {9801#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {9801#true} {9801#true} #93#return; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 91: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 90: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 89: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L272 TraceCheckUtils]: 88: Hoare triple {9801#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 87: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,150 INFO L290 TraceCheckUtils]: 86: Hoare triple {9801#true} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 85: Hoare triple {9801#true} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {9801#true} {9801#true} #95#return; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 83: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 82: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 81: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L272 TraceCheckUtils]: 80: Hoare triple {9801#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {9801#true} {9801#true} #93#return; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 78: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 77: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 76: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L272 TraceCheckUtils]: 75: Hoare triple {9801#true} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 74: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 73: Hoare triple {9801#true} assume !(~r~0 >= ~d~0); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {9801#true} {9801#true} #91#return; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 71: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 70: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,151 INFO L290 TraceCheckUtils]: 69: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L272 TraceCheckUtils]: 68: Hoare triple {9801#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {9801#true} {9801#true} #89#return; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 66: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 65: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 64: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L272 TraceCheckUtils]: 63: Hoare triple {9801#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {9801#true} {9801#true} #87#return; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 61: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 60: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 59: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L272 TraceCheckUtils]: 58: Hoare triple {9801#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 57: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 56: Hoare triple {9801#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9801#true} {9801#true} #91#return; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 54: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 53: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,152 INFO L290 TraceCheckUtils]: 52: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L272 TraceCheckUtils]: 51: Hoare triple {9801#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9801#true} {9801#true} #89#return; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 49: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 48: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 47: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L272 TraceCheckUtils]: 46: Hoare triple {9801#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9801#true} {9801#true} #87#return; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 44: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 43: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 42: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L272 TraceCheckUtils]: 41: Hoare triple {9801#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 40: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {9801#true} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {9801#true} {9801#true} #91#return; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L272 TraceCheckUtils]: 34: Hoare triple {9801#true} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9801#true} {9801#true} #89#return; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 32: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 31: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 30: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L272 TraceCheckUtils]: 29: Hoare triple {9801#true} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9801#true} {9801#true} #87#return; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 27: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {9801#true} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 23: Hoare triple {9801#true} assume !false; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {9801#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9801#true} {9801#true} #85#return; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,154 INFO L272 TraceCheckUtils]: 17: Hoare triple {9801#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9801#true} {9801#true} #83#return; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 15: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L272 TraceCheckUtils]: 12: Hoare triple {9801#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {9801#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9801#true} {9801#true} #81#return; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {9801#true} assume !(0 == ~cond); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {9801#true} ~cond := #in~cond; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L272 TraceCheckUtils]: 6: Hoare triple {9801#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 5: Hoare triple {9801#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; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L272 TraceCheckUtils]: 4: Hoare triple {9801#true} call #t~ret6 := main(); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9801#true} {9801#true} #101#return; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 2: Hoare triple {9801#true} assume true; {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L290 TraceCheckUtils]: 1: Hoare triple {9801#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); {9801#true} is VALID [2022-04-27 13:33:47,155 INFO L272 TraceCheckUtils]: 0: Hoare triple {9801#true} call ULTIMATE.init(); {9801#true} is VALID [2022-04-27 13:33:47,156 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 110 proven. 2 refuted. 0 times theorem prover too weak. 378 trivial. 0 not checked. [2022-04-27 13:33:47,156 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:33:47,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1582221540] [2022-04-27 13:33:47,156 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:33:47,156 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [417863262] [2022-04-27 13:33:47,156 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [417863262] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:33:47,156 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:33:47,156 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 9] total 20 [2022-04-27 13:33:47,156 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [87276663] [2022-04-27 13:33:47,156 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:33:47,157 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) Word has length 116 [2022-04-27 13:33:47,157 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:33:47,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:33:47,390 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:33:47,391 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-04-27 13:33:47,391 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:33:47,391 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-04-27 13:33:47,391 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=302, Unknown=0, NotChecked=0, Total=380 [2022-04-27 13:33:47,391 INFO L87 Difference]: Start difference. First operand 159 states and 203 transitions. Second operand has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:33:51,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:33:51,528 INFO L93 Difference]: Finished difference Result 239 states and 297 transitions. [2022-04-27 13:33:51,528 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-27 13:33:51,528 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) Word has length 116 [2022-04-27 13:33:51,528 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:33:51,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:33:51,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 134 transitions. [2022-04-27 13:33:51,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:33:51,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 134 transitions. [2022-04-27 13:33:51,531 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 134 transitions. [2022-04-27 13:33:51,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 134 edges. 134 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:33:51,703 INFO L225 Difference]: With dead ends: 239 [2022-04-27 13:33:51,703 INFO L226 Difference]: Without dead ends: 161 [2022-04-27 13:33:51,703 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 233 GetRequests, 211 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=91, Invalid=371, Unknown=0, NotChecked=0, Total=462 [2022-04-27 13:33:51,704 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 37 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 481 mSolverCounterSat, 89 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 570 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 89 IncrementalHoareTripleChecker+Valid, 481 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:33:51,704 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 190 Invalid, 570 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [89 Valid, 481 Invalid, 0 Unknown, 0 Unchecked, 1.5s Time] [2022-04-27 13:33:51,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-27 13:33:51,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 139. [2022-04-27 13:33:51,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:33:51,782 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:33:51,782 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:33:51,782 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:33:51,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:33:51,785 INFO L93 Difference]: Finished difference Result 161 states and 201 transitions. [2022-04-27 13:33:51,785 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 201 transitions. [2022-04-27 13:33:51,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:33:51,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:33:51,785 INFO L74 IsIncluded]: Start isIncluded. First operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 161 states. [2022-04-27 13:33:51,786 INFO L87 Difference]: Start difference. First operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) Second operand 161 states. [2022-04-27 13:33:51,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:33:51,788 INFO L93 Difference]: Finished difference Result 161 states and 201 transitions. [2022-04-27 13:33:51,788 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 201 transitions. [2022-04-27 13:33:51,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:33:51,789 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:33:51,789 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:33:51,789 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:33:51,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 139 states, 84 states have (on average 1.130952380952381) internal successors, (95), 89 states have internal predecessors, (95), 37 states have call successors, (37), 18 states have call predecessors, (37), 17 states have return successors, (35), 31 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-27 13:33:51,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 167 transitions. [2022-04-27 13:33:51,792 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 167 transitions. Word has length 116 [2022-04-27 13:33:51,792 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:33:51,792 INFO L495 AbstractCegarLoop]: Abstraction has 139 states and 167 transitions. [2022-04-27 13:33:51,792 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 17 states have (on average 2.411764705882353) internal successors, (41), 16 states have internal predecessors, (41), 10 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:33:51,792 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 167 transitions. [2022-04-27 13:33:51,793 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-27 13:33:51,793 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:33:51,793 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:33:51,821 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-27 13:33:52,005 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-27 13:33:52,006 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:33:52,006 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:33:52,006 INFO L85 PathProgramCache]: Analyzing trace with hash -243845479, now seen corresponding path program 4 times [2022-04-27 13:33:52,006 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:33:52,006 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [572168572] [2022-04-27 13:33:52,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:33:52,007 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:33:52,016 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:33:52,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1656134283] [2022-04-27 13:33:52,017 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 13:33:52,017 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:33:52,017 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:33:52,017 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:33:52,018 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-27 13:33:52,075 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 13:33:52,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:33:52,077 INFO L263 TraceCheckSpWp]: Trace formula consists of 303 conjuncts, 56 conjunts are in the unsatisfiable core [2022-04-27 13:33:52,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:33:52,099 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:34:03,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {11379#true} call ULTIMATE.init(); {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L290 TraceCheckUtils]: 1: Hoare triple {11379#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); {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11379#true} {11379#true} #101#return; {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {11379#true} call #t~ret6 := main(); {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L290 TraceCheckUtils]: 5: Hoare triple {11379#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; {11379#true} is VALID [2022-04-27 13:34:03,905 INFO L272 TraceCheckUtils]: 6: Hoare triple {11379#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 10 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {11379#true} ~cond := #in~cond; {11405#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:34:03,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {11405#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11409#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:34:03,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {11409#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11409#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:34:03,907 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11409#(not (= |assume_abort_if_not_#in~cond| 0))} {11379#true} #81#return; {11416#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-27 13:34:03,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {11416#(<= (mod main_~A~0 4294967296) 10)} ~B~0 := #t~nondet5;havoc #t~nondet5; {11416#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-27 13:34:03,907 INFO L272 TraceCheckUtils]: 12: Hoare triple {11416#(<= (mod main_~A~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 10 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,907 INFO L290 TraceCheckUtils]: 15: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,908 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11379#true} {11416#(<= (mod main_~A~0 4294967296) 10)} #83#return; {11416#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-27 13:34:03,908 INFO L272 TraceCheckUtils]: 17: Hoare triple {11416#(<= (mod main_~A~0 4294967296) 10)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,908 INFO L290 TraceCheckUtils]: 18: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,908 INFO L290 TraceCheckUtils]: 19: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,908 INFO L290 TraceCheckUtils]: 20: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,908 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11379#true} {11416#(<= (mod main_~A~0 4294967296) 10)} #85#return; {11416#(<= (mod main_~A~0 4294967296) 10)} is VALID [2022-04-27 13:34:03,908 INFO L290 TraceCheckUtils]: 22: Hoare triple {11416#(<= (mod main_~A~0 4294967296) 10)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-27 13:34:03,909 INFO L290 TraceCheckUtils]: 23: Hoare triple {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} assume !false; {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-27 13:34:03,909 INFO L272 TraceCheckUtils]: 24: Hoare triple {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,909 INFO L290 TraceCheckUtils]: 25: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,909 INFO L290 TraceCheckUtils]: 26: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11379#true} {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #87#return; {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-27 13:34:03,910 INFO L272 TraceCheckUtils]: 29: Hoare triple {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L290 TraceCheckUtils]: 30: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L290 TraceCheckUtils]: 31: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L290 TraceCheckUtils]: 32: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11379#true} {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #89#return; {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-27 13:34:03,910 INFO L272 TraceCheckUtils]: 34: Hoare triple {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L290 TraceCheckUtils]: 35: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,910 INFO L290 TraceCheckUtils]: 36: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,911 INFO L290 TraceCheckUtils]: 37: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,911 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {11379#true} {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} #91#return; {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} is VALID [2022-04-27 13:34:03,912 INFO L290 TraceCheckUtils]: 39: Hoare triple {11453#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11505#(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_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,913 INFO L290 TraceCheckUtils]: 40: Hoare triple {11505#(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_~A~0 4294967296) 10))} assume !false; {11505#(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_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,913 INFO L272 TraceCheckUtils]: 41: Hoare triple {11505#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,913 INFO L290 TraceCheckUtils]: 42: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,913 INFO L290 TraceCheckUtils]: 43: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,913 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11379#true} {11505#(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_~A~0 4294967296) 10))} #87#return; {11505#(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_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,913 INFO L272 TraceCheckUtils]: 46: Hoare triple {11505#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 47: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 48: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 49: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11379#true} {11505#(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_~A~0 4294967296) 10))} #89#return; {11505#(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_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,914 INFO L272 TraceCheckUtils]: 51: Hoare triple {11505#(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_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 52: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,914 INFO L290 TraceCheckUtils]: 54: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,915 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11379#true} {11505#(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_~A~0 4294967296) 10))} #91#return; {11505#(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_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {11505#(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_~A~0 4294967296) 10))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,916 INFO L290 TraceCheckUtils]: 57: Hoare triple {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} assume !false; {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,916 INFO L272 TraceCheckUtils]: 58: Hoare triple {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,916 INFO L290 TraceCheckUtils]: 59: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L290 TraceCheckUtils]: 60: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L290 TraceCheckUtils]: 61: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {11379#true} {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} #87#return; {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,917 INFO L272 TraceCheckUtils]: 63: Hoare triple {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L290 TraceCheckUtils]: 64: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L290 TraceCheckUtils]: 65: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,917 INFO L290 TraceCheckUtils]: 66: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,918 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11379#true} {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} #89#return; {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,918 INFO L272 TraceCheckUtils]: 68: Hoare triple {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,918 INFO L290 TraceCheckUtils]: 69: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,918 INFO L290 TraceCheckUtils]: 70: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,918 INFO L290 TraceCheckUtils]: 71: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,918 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11379#true} {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} #91#return; {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,919 INFO L290 TraceCheckUtils]: 73: Hoare triple {11557#(and (= (mod main_~A~0 4294967296) main_~r~0) (= (* (mod main_~B~0 4294967296) 4) main_~d~0) (= main_~q~0 0) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,920 INFO L290 TraceCheckUtils]: 74: Hoare triple {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,920 INFO L272 TraceCheckUtils]: 75: Hoare triple {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,920 INFO L290 TraceCheckUtils]: 76: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,920 INFO L290 TraceCheckUtils]: 77: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,920 INFO L290 TraceCheckUtils]: 78: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {11379#true} {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #87#return; {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,921 INFO L272 TraceCheckUtils]: 80: Hoare triple {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L290 TraceCheckUtils]: 81: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L290 TraceCheckUtils]: 82: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L290 TraceCheckUtils]: 83: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {11379#true} {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #89#return; {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,921 INFO L272 TraceCheckUtils]: 85: Hoare triple {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L290 TraceCheckUtils]: 86: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,921 INFO L290 TraceCheckUtils]: 87: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,922 INFO L290 TraceCheckUtils]: 88: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,922 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {11379#true} {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #91#return; {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,922 INFO L290 TraceCheckUtils]: 90: Hoare triple {11609#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !(~r~0 >= ~d~0); {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,923 INFO L290 TraceCheckUtils]: 91: Hoare triple {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume !false; {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,923 INFO L272 TraceCheckUtils]: 92: Hoare triple {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,923 INFO L290 TraceCheckUtils]: 93: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,923 INFO L290 TraceCheckUtils]: 94: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,923 INFO L290 TraceCheckUtils]: 95: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,924 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {11379#true} {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #93#return; {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,924 INFO L272 TraceCheckUtils]: 97: Hoare triple {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,924 INFO L290 TraceCheckUtils]: 98: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,924 INFO L290 TraceCheckUtils]: 99: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,924 INFO L290 TraceCheckUtils]: 100: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,924 INFO L284 TraceCheckUtils]: 101: Hoare quadruple {11379#true} {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} #95#return; {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,926 INFO L290 TraceCheckUtils]: 102: Hoare triple {11661#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~p~0 8) (not (<= main_~d~0 main_~r~0)) (= (* 8 (mod main_~B~0 4294967296)) main_~d~0) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) 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); {11698#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} is VALID [2022-04-27 13:34:03,927 INFO L290 TraceCheckUtils]: 103: Hoare triple {11698#(and (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 4) (not (<= (* 8 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~A~0 4294967296) 10) (<= (* (mod main_~B~0 4294967296) 4) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,928 INFO L290 TraceCheckUtils]: 104: Hoare triple {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} assume !false; {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,928 INFO L272 TraceCheckUtils]: 105: Hoare triple {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,928 INFO L290 TraceCheckUtils]: 106: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,928 INFO L290 TraceCheckUtils]: 107: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,928 INFO L290 TraceCheckUtils]: 108: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,928 INFO L284 TraceCheckUtils]: 109: Hoare quadruple {11379#true} {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} #93#return; {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,928 INFO L272 TraceCheckUtils]: 110: Hoare triple {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,928 INFO L290 TraceCheckUtils]: 111: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,929 INFO L290 TraceCheckUtils]: 112: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,929 INFO L290 TraceCheckUtils]: 113: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,929 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {11379#true} {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} #95#return; {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,930 INFO L290 TraceCheckUtils]: 115: Hoare triple {11702#(and (= main_~q~0 main_~p~0) (= main_~d~0 (div (* 8 (mod main_~B~0 4294967296)) 2)) (<= (* (mod main_~B~0 4294967296) 4) (+ main_~d~0 main_~r~0)) (not (<= (* 8 (mod main_~B~0 4294967296)) (+ main_~d~0 main_~r~0))) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~p~0 4) (<= (mod main_~A~0 4294967296) 10))} 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); {11739#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4) (<= (mod main_~A~0 4294967296) 10))} is VALID [2022-04-27 13:34:03,932 INFO L290 TraceCheckUtils]: 116: Hoare triple {11739#(and (= main_~p~0 (div main_~q~0 2)) (not (<= (* 8 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (* (mod main_~B~0 4294967296) 4) (mod main_~A~0 4294967296)) (= main_~d~0 (div (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) 2)) (= (+ (mod main_~A~0 4294967296) (* (- 1) main_~r~0)) (div (* 8 (mod main_~B~0 4294967296)) 2)) (= main_~q~0 4) (<= (mod main_~A~0 4294967296) 10))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,932 INFO L290 TraceCheckUtils]: 117: Hoare triple {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !false; {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,933 INFO L272 TraceCheckUtils]: 118: Hoare triple {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 119: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 120: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 121: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L284 TraceCheckUtils]: 122: Hoare quadruple {11379#true} {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} #93#return; {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,933 INFO L272 TraceCheckUtils]: 123: Hoare triple {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 124: Hoare triple {11379#true} ~cond := #in~cond; {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 125: Hoare triple {11379#true} assume !(0 == ~cond); {11379#true} is VALID [2022-04-27 13:34:03,933 INFO L290 TraceCheckUtils]: 126: Hoare triple {11379#true} assume true; {11379#true} is VALID [2022-04-27 13:34:03,934 INFO L284 TraceCheckUtils]: 127: Hoare quadruple {11379#true} {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} #95#return; {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,936 INFO L290 TraceCheckUtils]: 128: Hoare triple {11743#(and (<= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0) (mod main_~A~0 4294967296)) (= (+ (* (mod main_~B~0 4294967296) 4) main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= (+ main_~p~0 4) main_~q~0) (= main_~p~0 (div (+ main_~q~0 (* (- 1) main_~p~0)) 2)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {11780#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (* 6 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= 2 (+ main_~q~0 (- 4))) (= (div (+ main_~q~0 (- 4)) 2) main_~p~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,937 INFO L290 TraceCheckUtils]: 129: Hoare triple {11780#(and (= (mod main_~A~0 4294967296) (+ (* 6 (mod main_~B~0 4294967296)) main_~r~0)) (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (<= (* 6 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (= 2 (+ main_~q~0 (- 4))) (= (div (+ main_~q~0 (- 4)) 2) main_~p~0) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {11784#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 7 (mod main_~B~0 4294967296)))) (= 7 main_~q~0) (<= (* 7 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,937 INFO L290 TraceCheckUtils]: 130: Hoare triple {11784#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 7 (mod main_~B~0 4294967296)))) (= 7 main_~q~0) (<= (* 7 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} assume !false; {11784#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 7 (mod main_~B~0 4294967296)))) (= 7 main_~q~0) (<= (* 7 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} is VALID [2022-04-27 13:34:03,938 INFO L272 TraceCheckUtils]: 131: Hoare triple {11784#(and (= (mod main_~A~0 4294967296) (+ main_~r~0 (* 7 (mod main_~B~0 4294967296)))) (= 7 main_~q~0) (<= (* 7 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296)) (<= (mod main_~A~0 4294967296) 10) (< (mod main_~A~0 4294967296) (* 8 (mod main_~B~0 4294967296))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {11791#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:34:03,938 INFO L290 TraceCheckUtils]: 132: Hoare triple {11791#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11795#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:34:03,938 INFO L290 TraceCheckUtils]: 133: Hoare triple {11795#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11380#false} is VALID [2022-04-27 13:34:03,938 INFO L290 TraceCheckUtils]: 134: Hoare triple {11380#false} assume !false; {11380#false} is VALID [2022-04-27 13:34:03,939 INFO L134 CoverageAnalysis]: Checked inductivity of 711 backedges. 36 proven. 57 refuted. 0 times theorem prover too weak. 618 trivial. 0 not checked. [2022-04-27 13:34:03,939 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:34:25,823 WARN L232 SmtUtils]: Spent 5.09s on a formula simplification that was a NOOP. DAG size: 147 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:34:59,216 WARN L232 SmtUtils]: Spent 6.51s on a formula simplification that was a NOOP. DAG size: 150 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:36:13,818 WARN L232 SmtUtils]: Spent 25.97s on a formula simplification that was a NOOP. DAG size: 451 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate)