/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_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:24:58,920 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:24:58,922 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:24:58,947 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:24:58,947 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:24:58,948 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:24:58,949 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:24:58,960 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:24:58,962 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:24:58,962 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:24:58,963 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:24:58,963 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:24:58,964 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:24:58,964 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:24:58,965 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:24:58,966 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:24:58,966 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:24:58,967 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:24:58,968 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:24:58,969 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:24:58,970 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:24:58,972 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:24:58,972 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:24:58,973 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:24:58,973 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:24:58,975 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:24:58,976 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:24:58,976 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:24:58,976 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:24:58,976 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:24:58,977 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:24:58,977 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:24:58,977 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:24:58,978 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:24:58,978 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:24:58,979 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:24:58,979 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:24:58,979 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:24:58,979 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:24:58,980 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:24:58,980 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:24:58,981 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:24:58,981 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:24:59,000 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:24:59,001 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:24:59,001 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:24:59,001 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:24:59,001 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:24:59,002 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:24:59,002 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:24:59,002 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:24:59,002 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:24:59,003 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:24:59,003 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:24:59,004 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:24:59,004 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:24:59,005 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:24:59,005 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:24:59,005 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:24:59,184 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:24:59,200 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:24:59,201 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:24:59,202 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:24:59,207 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:24:59,208 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c [2022-04-27 13:24:59,253 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c431e917e/42ec40931a3f4ebd855529dfa639ccbe/FLAG75df6c6ea [2022-04-27 13:24:59,644 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:24:59,644 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound20.c [2022-04-27 13:24:59,654 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c431e917e/42ec40931a3f4ebd855529dfa639ccbe/FLAG75df6c6ea [2022-04-27 13:25:00,058 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c431e917e/42ec40931a3f4ebd855529dfa639ccbe [2022-04-27 13:25:00,060 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:25:00,061 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:25:00,075 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:25:00,075 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:25:00,077 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:25:00,078 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,079 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@15a67687 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00, skipping insertion in model container [2022-04-27 13:25:00,079 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,083 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:25:00,091 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:25:00,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_valuebound20.c[538,551] [2022-04-27 13:25:00,275 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:25:00,283 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:25:00,298 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_valuebound20.c[538,551] [2022-04-27 13:25:00,326 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:25:00,347 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:25:00,348 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00 WrapperNode [2022-04-27 13:25:00,348 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:25:00,349 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:25:00,349 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:25:00,349 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:25:00,356 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,357 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,361 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,362 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,376 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,380 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,381 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,382 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:25:00,382 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:25:00,382 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:25:00,382 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:25:00,384 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (1/1) ... [2022-04-27 13:25:00,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:25:00,396 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:00,404 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 13:25:00,431 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 13:25:00,439 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:25:00,440 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:25:00,440 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:25:00,440 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:25:00,441 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:25:00,441 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:25:00,441 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:25:00,441 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:25:00,442 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:25:00,444 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:25:00,444 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:25:00,445 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:25:00,445 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:25:00,445 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:25:00,515 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:25:00,516 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:25:00,670 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:25:00,685 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:25:00,685 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:25:00,686 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:25:00 BoogieIcfgContainer [2022-04-27 13:25:00,687 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:25:00,688 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:25:00,688 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:25:00,705 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:25:00,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:25:00" (1/3) ... [2022-04-27 13:25:00,706 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42b3a848 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:25:00, skipping insertion in model container [2022-04-27 13:25:00,706 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:25:00" (2/3) ... [2022-04-27 13:25:00,707 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@42b3a848 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:25:00, skipping insertion in model container [2022-04-27 13:25:00,707 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:25:00" (3/3) ... [2022-04-27 13:25:00,707 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound20.c [2022-04-27 13:25:00,716 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:25:00,716 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:25:00,771 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:25:00,775 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@87de627, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@36640693 [2022-04-27 13:25:00,775 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:25:00,784 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:25:00,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:25:00,790 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:00,790 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:00,791 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:00,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:00,797 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-27 13:25:00,802 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:00,803 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719653836] [2022-04-27 13:25:00,803 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:00,804 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:00,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:00,939 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:00,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:00,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:25:00,964 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:25:00,964 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:25:00,965 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:00,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:00,973 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:00,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:00,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:00,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:25:00,975 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:00,983 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:00,997 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:00,997 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:00,998 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:00,998 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:25:00,998 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:00,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,005 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:01,005 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:01,005 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:01,005 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:25:01,006 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:01,006 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:25:01,006 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:25:01,007 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:25:01,007 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-27 13:25:01,007 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-27 13:25:01,007 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:01,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:01,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:01,008 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:01,008 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:25:01,008 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-27 13:25:01,008 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:01,008 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:01,008 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:01,009 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:01,009 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:25:01,009 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:25:01,009 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:25:01,009 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-27 13:25:01,010 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:25:01,011 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:01,011 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:01,011 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719653836] [2022-04-27 13:25:01,012 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [719653836] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:01,012 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:01,012 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:25:01,013 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [483104241] [2022-04-27 13:25:01,013 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:01,017 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:25:01,018 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:01,020 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:01,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:01,054 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:25:01,054 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:01,074 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:25:01,074 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:25:01,077 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:01,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:01,252 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-27 13:25:01,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:25:01,253 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:25:01,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:01,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:01,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:25:01,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:01,276 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:25:01,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-27 13:25:01,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:01,393 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:25:01,393 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:25:01,395 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:25:01,397 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:01,398 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:25:01,408 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:25:01,417 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-27 13:25:01,417 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:01,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:01,419 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:01,419 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:01,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:01,423 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:25:01,423 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:01,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:01,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:01,424 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:25:01,424 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:25:01,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:01,426 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:25:01,426 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:01,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:01,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:01,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:01,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:01,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:01,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-27 13:25:01,430 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-27 13:25:01,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:01,430 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-27 13:25:01,431 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:25:01,431 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:25:01,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:25:01,431 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:01,432 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:01,432 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:25:01,432 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:01,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:01,432 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-27 13:25:01,432 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:01,433 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [287011245] [2022-04-27 13:25:01,433 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:01,433 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:01,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,487 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:01,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,493 INFO L290 TraceCheckUtils]: 0: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:25:01,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,493 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:25:01,494 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:01,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,498 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:25:01,498 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:01,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,502 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,502 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,502 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,503 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:25:01,503 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:01,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:01,506 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,506 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,506 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:25:01,507 INFO L272 TraceCheckUtils]: 0: Hoare triple {275#true} call ULTIMATE.init(); {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:01,507 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:25:01,507 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,507 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-27 13:25:01,508 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:01,508 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,508 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-27 13:25:01,508 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,509 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:25:01,509 INFO L272 TraceCheckUtils]: 17: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:25:01,509 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:25:01,509 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:25:01,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {275#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:25:01,510 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:25:01,511 INFO L272 TraceCheckUtils]: 24: Hoare triple {292#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:01,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {293#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:25:01,511 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-27 13:25:01,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-27 13:25:01,512 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:01,512 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:01,512 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [287011245] [2022-04-27 13:25:01,512 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [287011245] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:01,512 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:01,512 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:25:01,512 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [825823802] [2022-04-27 13:25:01,512 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:01,513 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:25:01,514 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:01,514 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:01,528 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:01,528 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:01,528 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:01,529 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:01,529 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:25:01,529 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:01,932 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:01,933 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:25:01,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:25:01,933 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:25:01,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:01,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:01,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:01,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:01,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:01,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:25:02,011 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:02,013 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:25:02,013 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:25:02,013 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:02,014 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 38 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 126 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 44 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 155 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 126 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:02,014 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:25:02,015 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:25:02,019 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:25:02,019 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:02,020 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,020 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,020 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:02,023 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:25:02,023 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:25:02,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:02,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:02,024 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:25:02,024 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:25:02,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:02,026 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:25:02,026 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:25:02,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:02,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:02,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:02,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:02,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:25:02,029 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-27 13:25:02,029 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:02,029 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:25:02,029 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:25:02,029 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:25:02,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:25:02,030 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:02,030 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:02,030 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:25:02,030 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:02,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:02,030 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-27 13:25:02,031 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:02,031 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [959903358] [2022-04-27 13:25:02,031 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:02,031 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:02,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:25:02,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,085 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:25:02,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,085 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:25:02,085 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:25:02,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,096 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,096 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,097 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,097 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:25:02,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:25:02,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,102 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,102 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:25:02,103 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:25:02,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,106 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:25:02,106 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 13:25:02,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,110 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,111 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:02,112 INFO L272 TraceCheckUtils]: 0: Hoare triple {517#true} call ULTIMATE.init(); {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:25:02,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:25:02,112 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,112 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:25:02,112 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-27 13:25:02,112 INFO L290 TraceCheckUtils]: 5: Hoare triple {517#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {517#true} is VALID [2022-04-27 13:25:02,112 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:02,112 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:25:02,113 INFO L272 TraceCheckUtils]: 17: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:02,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,114 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,114 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:25:02,114 INFO L290 TraceCheckUtils]: 22: Hoare triple {517#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:02,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:02,115 INFO L272 TraceCheckUtils]: 24: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {517#true} is VALID [2022-04-27 13:25:02,115 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:25:02,115 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:25:02,115 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:25:02,116 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:25:02,116 INFO L272 TraceCheckUtils]: 29: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {539#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:02,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {539#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {540#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:25:02,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-27 13:25:02,117 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-27 13:25:02,118 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:25:02,118 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:02,118 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [959903358] [2022-04-27 13:25:02,118 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [959903358] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:02,118 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:02,118 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:25:02,118 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [799740748] [2022-04-27 13:25:02,118 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:02,119 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:25:02,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:02,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:25:02,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:02,136 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:02,136 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:02,136 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:02,136 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:25:02,136 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:25:02,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:02,472 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-27 13:25:02,473 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:25:02,473 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:25:02,475 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:02,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:25:02,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:02,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:25:02,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:25:02,482 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:25:02,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:02,540 INFO L225 Difference]: With dead ends: 50 [2022-04-27 13:25:02,540 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 13:25:02,541 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:02,547 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:02,548 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.1s Time] [2022-04-27 13:25:02,550 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 13:25:02,563 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 13:25:02,563 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:02,563 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,563 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,564 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,565 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:02,565 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:25:02,566 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:25:02,566 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:02,566 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:02,566 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:25:02,567 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:25:02,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:02,568 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:25:02,568 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:25:02,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:02,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:02,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:02,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:02,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:25:02,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-27 13:25:02,571 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-27 13:25:02,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:02,571 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-27 13:25:02,571 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:25:02,571 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-27 13:25:02,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:25:02,572 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:02,572 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:02,572 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:25:02,572 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:02,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:02,572 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-27 13:25:02,573 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:02,573 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [377284408] [2022-04-27 13:25:02,573 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:02,573 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:02,597 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:02,597 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [818137006] [2022-04-27 13:25:02,597 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:02,597 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:02,598 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:02,623 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:25:02,645 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 13:25:02,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 13:25:02,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:02,693 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:03,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-27 13:25:03,125 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-27 13:25:03,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:03,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:03,126 INFO L290 TraceCheckUtils]: 14: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:03,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:03,127 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {781#true} {781#true} #83#return; {781#true} is VALID [2022-04-27 13:25:03,127 INFO L272 TraceCheckUtils]: 17: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:03,127 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:03,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {840#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:03,128 INFO L290 TraceCheckUtils]: 20: Hoare triple {844#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {844#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:03,129 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {844#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #85#return; {851#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:25:03,129 INFO L290 TraceCheckUtils]: 22: Hoare triple {851#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,130 INFO L272 TraceCheckUtils]: 24: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:03,130 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:03,130 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:03,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:03,130 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,131 INFO L272 TraceCheckUtils]: 29: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {781#true} is VALID [2022-04-27 13:25:03,131 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:25:03,131 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:25:03,131 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:25:03,131 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:03,132 INFO L272 TraceCheckUtils]: 34: Hoare triple {855#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {892#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:03,133 INFO L290 TraceCheckUtils]: 35: Hoare triple {892#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {896#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:03,133 INFO L290 TraceCheckUtils]: 36: Hoare triple {896#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-27 13:25:03,133 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-27 13:25:03,133 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 13:25:03,133 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:25:03,133 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:03,133 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [377284408] [2022-04-27 13:25:03,134 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:03,134 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [818137006] [2022-04-27 13:25:03,134 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [818137006] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:03,134 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:03,134 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-27 13:25:03,134 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1648865191] [2022-04-27 13:25:03,134 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:03,134 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:25:03,135 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:03,135 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:03,160 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:03,160 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-27 13:25:03,160 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:03,160 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-27 13:25:03,160 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-27 13:25:03,161 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:03,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:03,463 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-27 13:25:03,463 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:25:03,463 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) Word has length 38 [2022-04-27 13:25:03,463 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:03,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:03,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:25:03,465 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:03,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-27 13:25:03,467 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-27 13:25:03,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:03,518 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:25:03,519 INFO L226 Difference]: Without dead ends: 55 [2022-04-27 13:25:03,519 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:03,520 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 23 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 114 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 114 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:03,520 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 180 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 114 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:25:03,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-27 13:25:03,544 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-27 13:25:03,545 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:03,545 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:03,545 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:03,545 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:03,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:03,548 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:25:03,548 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:03,548 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:03,548 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:03,549 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:25:03,549 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:25:03,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:03,551 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:25:03,551 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:03,551 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:03,551 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:03,551 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:03,551 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:03,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:25:03,568 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:25:03,568 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-27 13:25:03,568 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:03,569 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:25:03,569 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 2 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 3 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-27 13:25:03,569 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:25:03,570 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:25:03,570 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:03,570 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:03,588 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:25:03,786 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:03,786 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:03,786 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:03,786 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-27 13:25:03,786 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:03,787 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [64397330] [2022-04-27 13:25:03,787 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:03,787 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:03,799 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:03,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1293611383] [2022-04-27 13:25:03,799 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:03,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:03,800 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:03,801 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:25:03,802 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 13:25:03,835 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:03,836 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-27 13:25:03,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:03,850 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:04,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:04,924 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:04,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:25:04,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:25:04,924 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:04,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {1244#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:04,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {1248#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1248#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:04,929 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) 20)} is VALID [2022-04-27 13:25:04,930 INFO L272 TraceCheckUtils]: 17: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 20)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:04,930 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:04,930 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,930 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1255#(<= (mod main_~B~0 4294967296) 20)} #85#return; {1255#(<= (mod main_~B~0 4294967296) 20)} is VALID [2022-04-27 13:25:04,930 INFO L290 TraceCheckUtils]: 22: Hoare triple {1255#(<= (mod main_~B~0 4294967296) 20)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,931 INFO L290 TraceCheckUtils]: 23: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,931 INFO L272 TraceCheckUtils]: 24: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,931 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:04,931 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:04,931 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #87#return; {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,932 INFO L272 TraceCheckUtils]: 29: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #89#return; {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,932 INFO L272 TraceCheckUtils]: 34: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:04,932 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:04,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:04,933 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} #91#return; {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,934 INFO L290 TraceCheckUtils]: 39: Hoare triple {1274#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (<= main_~d~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {1326#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,934 INFO L290 TraceCheckUtils]: 40: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} assume !false; {1326#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} is VALID [2022-04-27 13:25:04,935 INFO L272 TraceCheckUtils]: 41: Hoare triple {1326#(and (<= (mod main_~B~0 4294967296) 20) (= (mod main_~A~0 4294967296) main_~r~0) (< main_~r~0 (mod main_~B~0 4294967296)) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:04,935 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:04,935 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:25:04,935 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:25:04,936 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 13:25:04,936 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:05,271 INFO L290 TraceCheckUtils]: 44: Hoare triple {1201#false} assume !false; {1201#false} is VALID [2022-04-27 13:25:05,275 INFO L290 TraceCheckUtils]: 43: Hoare triple {1337#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1201#false} is VALID [2022-04-27 13:25:05,276 INFO L290 TraceCheckUtils]: 42: Hoare triple {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1337#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:05,276 INFO L272 TraceCheckUtils]: 41: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1333#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:05,277 INFO L290 TraceCheckUtils]: 40: Hoare triple {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:05,277 INFO L290 TraceCheckUtils]: 39: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {1353#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:25:05,277 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #91#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:05,277 INFO L290 TraceCheckUtils]: 37: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L290 TraceCheckUtils]: 36: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L290 TraceCheckUtils]: 35: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L272 TraceCheckUtils]: 34: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #89#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:05,278 INFO L290 TraceCheckUtils]: 32: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,278 INFO L272 TraceCheckUtils]: 29: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,279 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1200#true} {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} #87#return; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:05,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,279 INFO L272 TraceCheckUtils]: 24: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,279 INFO L290 TraceCheckUtils]: 23: Hoare triple {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} assume !false; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:05,280 INFO L290 TraceCheckUtils]: 22: Hoare triple {1200#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1360#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:25:05,280 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1200#true} {1200#true} #85#return; {1200#true} is VALID [2022-04-27 13:25:05,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,280 INFO L272 TraceCheckUtils]: 17: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1200#true} {1200#true} #83#return; {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L290 TraceCheckUtils]: 15: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L272 TraceCheckUtils]: 12: Hoare triple {1200#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,281 INFO L290 TraceCheckUtils]: 11: Hoare triple {1200#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1200#true} {1200#true} #81#return; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 9: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 8: Hoare triple {1200#true} assume !(0 == ~cond); {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 7: Hoare triple {1200#true} ~cond := #in~cond; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L272 TraceCheckUtils]: 6: Hoare triple {1200#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 5: Hoare triple {1200#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L272 TraceCheckUtils]: 4: Hoare triple {1200#true} call #t~ret6 := main(); {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1200#true} {1200#true} #101#return; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {1200#true} assume true; {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {1200#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L272 TraceCheckUtils]: 0: Hoare triple {1200#true} call ULTIMATE.init(); {1200#true} is VALID [2022-04-27 13:25:05,282 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-27 13:25:05,283 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:05,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [64397330] [2022-04-27 13:25:05,283 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:05,283 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1293611383] [2022-04-27 13:25:05,283 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1293611383] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:25:05,283 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:25:05,283 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 11 [2022-04-27 13:25:05,283 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [623376062] [2022-04-27 13:25:05,283 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:05,284 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:25:05,284 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:05,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:05,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:05,315 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:25:05,315 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:05,315 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:25:05,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:25:05,316 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:05,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:05,544 INFO L93 Difference]: Finished difference Result 68 states and 85 transitions. [2022-04-27 13:25:05,544 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:05,545 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 45 [2022-04-27 13:25:05,545 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:05,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:05,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:05,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:05,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:05,547 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:25:05,591 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:05,592 INFO L225 Difference]: With dead ends: 68 [2022-04-27 13:25:05,592 INFO L226 Difference]: Without dead ends: 66 [2022-04-27 13:25:05,592 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:25:05,593 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 16 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s 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.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:05,593 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.1s Time] [2022-04-27 13:25:05,593 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-04-27 13:25:05,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 64. [2022-04-27 13:25:05,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:05,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:05,607 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:05,607 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:05,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:05,609 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:25:05,609 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:25:05,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:05,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:05,610 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:25:05,610 INFO L87 Difference]: Start difference. First operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 66 states. [2022-04-27 13:25:05,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:05,612 INFO L93 Difference]: Finished difference Result 66 states and 83 transitions. [2022-04-27 13:25:05,612 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 83 transitions. [2022-04-27 13:25:05,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:05,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:05,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:05,612 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:05,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 36 states have (on average 1.1944444444444444) internal successors, (43), 38 states have internal predecessors, (43), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:25:05,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 80 transitions. [2022-04-27 13:25:05,614 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 80 transitions. Word has length 45 [2022-04-27 13:25:05,614 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:05,614 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 80 transitions. [2022-04-27 13:25:05,614 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.8333333333333335) internal successors, (17), 5 states have internal predecessors, (17), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:05,614 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 80 transitions. [2022-04-27 13:25:05,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:25:05,615 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:05,615 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:05,631 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:25:05,823 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:05,824 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:05,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:05,824 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-27 13:25:05,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:05,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [536685081] [2022-04-27 13:25:05,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:05,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:05,841 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:05,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1877680878] [2022-04-27 13:25:05,841 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:05,841 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:05,841 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:05,872 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:25:05,873 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 13:25:05,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:05,910 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-27 13:25:05,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:05,919 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:06,602 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:25:06,602 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1808#true} is VALID [2022-04-27 13:25:06,602 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:25:06,603 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:25:06,604 INFO L290 TraceCheckUtils]: 19: Hoare triple {1867#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:06,604 INFO L290 TraceCheckUtils]: 20: Hoare triple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1871#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:25:06,605 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1871#(not (= |assume_abort_if_not_#in~cond| 0))} {1808#true} #85#return; {1878#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:25:06,605 INFO L290 TraceCheckUtils]: 22: Hoare triple {1878#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:06,606 INFO L290 TraceCheckUtils]: 23: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:06,606 INFO L272 TraceCheckUtils]: 24: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,606 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,606 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,606 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,606 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:06,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:06,607 INFO L272 TraceCheckUtils]: 34: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,607 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,608 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:25:06,609 INFO L290 TraceCheckUtils]: 39: Hoare triple {1882#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,609 INFO L290 TraceCheckUtils]: 40: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,609 INFO L272 TraceCheckUtils]: 41: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,609 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,609 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,609 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,610 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,610 INFO L272 TraceCheckUtils]: 46: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,610 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,610 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,610 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,611 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,611 INFO L272 TraceCheckUtils]: 51: Hoare triple {1934#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:06,611 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:06,612 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:25:06,612 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:25:06,612 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-27 13:25:06,612 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:06,897 INFO L290 TraceCheckUtils]: 54: Hoare triple {1809#false} assume !false; {1809#false} is VALID [2022-04-27 13:25:06,897 INFO L290 TraceCheckUtils]: 53: Hoare triple {1975#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1809#false} is VALID [2022-04-27 13:25:06,897 INFO L290 TraceCheckUtils]: 52: Hoare triple {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1975#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:06,898 INFO L272 TraceCheckUtils]: 51: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1971#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:06,899 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 49: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 48: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 47: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L272 TraceCheckUtils]: 46: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 43: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:06,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:06,900 INFO L272 TraceCheckUtils]: 41: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:06,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,049 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,049 INFO L290 TraceCheckUtils]: 37: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,049 INFO L290 TraceCheckUtils]: 36: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,049 INFO L290 TraceCheckUtils]: 35: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,049 INFO L272 TraceCheckUtils]: 34: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L290 TraceCheckUtils]: 30: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L272 TraceCheckUtils]: 29: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1808#true} {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,050 INFO L290 TraceCheckUtils]: 27: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,050 INFO L290 TraceCheckUtils]: 26: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,051 INFO L290 TraceCheckUtils]: 25: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,051 INFO L272 TraceCheckUtils]: 24: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,051 INFO L290 TraceCheckUtils]: 23: Hoare triple {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,051 INFO L290 TraceCheckUtils]: 22: Hoare triple {1808#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1991#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:25:07,051 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1808#true} {1808#true} #85#return; {1808#true} is VALID [2022-04-27 13:25:07,051 INFO L290 TraceCheckUtils]: 20: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,051 INFO L290 TraceCheckUtils]: 19: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 18: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L272 TraceCheckUtils]: 17: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1808#true} {1808#true} #83#return; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 15: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L272 TraceCheckUtils]: 12: Hoare triple {1808#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 11: Hoare triple {1808#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1808#true} {1808#true} #81#return; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 9: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 8: Hoare triple {1808#true} assume !(0 == ~cond); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 7: Hoare triple {1808#true} ~cond := #in~cond; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L272 TraceCheckUtils]: 6: Hoare triple {1808#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L290 TraceCheckUtils]: 5: Hoare triple {1808#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L272 TraceCheckUtils]: 4: Hoare triple {1808#true} call #t~ret6 := main(); {1808#true} is VALID [2022-04-27 13:25:07,052 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1808#true} {1808#true} #101#return; {1808#true} is VALID [2022-04-27 13:25:07,053 INFO L290 TraceCheckUtils]: 2: Hoare triple {1808#true} assume true; {1808#true} is VALID [2022-04-27 13:25:07,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {1808#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {1808#true} is VALID [2022-04-27 13:25:07,053 INFO L272 TraceCheckUtils]: 0: Hoare triple {1808#true} call ULTIMATE.init(); {1808#true} is VALID [2022-04-27 13:25:07,053 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-27 13:25:07,053 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:07,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [536685081] [2022-04-27 13:25:07,053 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:07,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1877680878] [2022-04-27 13:25:07,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1877680878] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:25:07,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:25:07,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-27 13:25:07,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395864552] [2022-04-27 13:25:07,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:07,054 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:25:07,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:07,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:07,077 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:07,077 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:25:07,078 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:07,078 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:25:07,078 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:25:07,078 INFO L87 Difference]: Start difference. First operand 64 states and 80 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:07,386 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:07,386 INFO L93 Difference]: Finished difference Result 76 states and 95 transitions. [2022-04-27 13:25:07,386 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:07,386 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:25:07,387 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:07,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:07,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:25:07,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:07,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:25:07,389 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-27 13:25:07,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:07,432 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:25:07,432 INFO L226 Difference]: Without dead ends: 74 [2022-04-27 13:25:07,432 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 99 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=25, Invalid=85, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:25:07,433 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 129 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:25:07,433 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 129 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:25:07,434 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-04-27 13:25:07,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 71. [2022-04-27 13:25:07,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:07,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:07,450 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:07,450 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:07,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:07,452 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:25:07,453 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:25:07,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:07,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:07,453 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:25:07,453 INFO L87 Difference]: Start difference. First operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) Second operand 74 states. [2022-04-27 13:25:07,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:07,455 INFO L93 Difference]: Finished difference Result 74 states and 93 transitions. [2022-04-27 13:25:07,455 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 93 transitions. [2022-04-27 13:25:07,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:07,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:07,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:07,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:07,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 40 states have (on average 1.175) internal successors, (47), 43 states have internal predecessors, (47), 22 states have call successors, (22), 9 states have call predecessors, (22), 8 states have return successors, (19), 18 states have call predecessors, (19), 19 states have call successors, (19) [2022-04-27 13:25:07,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 88 transitions. [2022-04-27 13:25:07,458 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 88 transitions. Word has length 55 [2022-04-27 13:25:07,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:07,458 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 88 transitions. [2022-04-27 13:25:07,458 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:25:07,458 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 88 transitions. [2022-04-27 13:25:07,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2022-04-27 13:25:07,459 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:07,459 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:07,484 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Ended with exit code 0 [2022-04-27 13:25:07,675 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:07,675 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:07,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:07,676 INFO L85 PathProgramCache]: Analyzing trace with hash -682689219, now seen corresponding path program 1 times [2022-04-27 13:25:07,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:07,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1786957010] [2022-04-27 13:25:07,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:07,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:07,684 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:07,684 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [378388722] [2022-04-27 13:25:07,684 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:07,684 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:07,684 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:07,688 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:25:07,691 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 13:25:07,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:07,748 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:25:07,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:07,762 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:09,244 INFO L272 TraceCheckUtils]: 0: Hoare triple {2512#true} call ULTIMATE.init(); {2512#true} is VALID [2022-04-27 13:25:09,244 INFO L290 TraceCheckUtils]: 1: Hoare triple {2512#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {2512#true} is VALID [2022-04-27 13:25:09,244 INFO L290 TraceCheckUtils]: 2: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2512#true} {2512#true} #101#return; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L272 TraceCheckUtils]: 4: Hoare triple {2512#true} call #t~ret6 := main(); {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {2512#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L272 TraceCheckUtils]: 6: Hoare triple {2512#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 7: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 8: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 9: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2512#true} {2512#true} #81#return; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 11: Hoare triple {2512#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L272 TraceCheckUtils]: 12: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 13: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 14: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2512#true} {2512#true} #83#return; {2512#true} is VALID [2022-04-27 13:25:09,245 INFO L272 TraceCheckUtils]: 17: Hoare triple {2512#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,246 INFO L290 TraceCheckUtils]: 18: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,246 INFO L290 TraceCheckUtils]: 19: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,246 INFO L290 TraceCheckUtils]: 20: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,246 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2512#true} {2512#true} #85#return; {2512#true} is VALID [2022-04-27 13:25:09,251 INFO L290 TraceCheckUtils]: 22: Hoare triple {2512#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,252 INFO L290 TraceCheckUtils]: 23: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,252 INFO L272 TraceCheckUtils]: 24: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,252 INFO L290 TraceCheckUtils]: 27: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,253 INFO L272 TraceCheckUtils]: 29: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L290 TraceCheckUtils]: 30: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L290 TraceCheckUtils]: 31: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L290 TraceCheckUtils]: 32: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,253 INFO L272 TraceCheckUtils]: 34: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,253 INFO L290 TraceCheckUtils]: 35: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,254 INFO L290 TraceCheckUtils]: 36: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,254 INFO L290 TraceCheckUtils]: 37: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,254 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,255 INFO L290 TraceCheckUtils]: 39: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,255 INFO L290 TraceCheckUtils]: 40: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,255 INFO L272 TraceCheckUtils]: 41: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,255 INFO L290 TraceCheckUtils]: 42: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,255 INFO L290 TraceCheckUtils]: 43: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,255 INFO L290 TraceCheckUtils]: 44: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,256 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,256 INFO L272 TraceCheckUtils]: 46: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2512#true} is VALID [2022-04-27 13:25:09,256 INFO L290 TraceCheckUtils]: 47: Hoare triple {2512#true} ~cond := #in~cond; {2512#true} is VALID [2022-04-27 13:25:09,256 INFO L290 TraceCheckUtils]: 48: Hoare triple {2512#true} assume !(0 == ~cond); {2512#true} is VALID [2022-04-27 13:25:09,256 INFO L290 TraceCheckUtils]: 49: Hoare triple {2512#true} assume true; {2512#true} is VALID [2022-04-27 13:25:09,257 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2512#true} {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,257 INFO L290 TraceCheckUtils]: 51: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(1 != ~p~0); {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:25:09,258 INFO L272 TraceCheckUtils]: 52: Hoare triple {2583#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:09,258 INFO L290 TraceCheckUtils]: 53: Hoare triple {2674#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2678#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:09,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {2678#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2513#false} is VALID [2022-04-27 13:25:09,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {2513#false} assume !false; {2513#false} is VALID [2022-04-27 13:25:09,259 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-27 13:25:09,259 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:25:09,259 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:25:09,259 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1786957010] [2022-04-27 13:25:09,259 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:25:09,260 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [378388722] [2022-04-27 13:25:09,260 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [378388722] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:25:09,260 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:25:09,260 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:25:09,260 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1589570029] [2022-04-27 13:25:09,260 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:25:09,261 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:25:09,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:25:09,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:09,293 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:09,293 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:25:09,293 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:25:09,293 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:25:09,293 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:25:09,293 INFO L87 Difference]: Start difference. First operand 71 states and 88 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:09,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:09,465 INFO L93 Difference]: Finished difference Result 79 states and 96 transitions. [2022-04-27 13:25:09,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:25:09,466 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 56 [2022-04-27 13:25:09,466 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:25:09,466 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:09,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:09,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:09,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-27 13:25:09,469 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-27 13:25:09,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:25:09,513 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:25:09,513 INFO L226 Difference]: Without dead ends: 72 [2022-04-27 13:25:09,514 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 56 GetRequests, 52 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:25:09,514 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:25:09,514 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:25:09,515 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-04-27 13:25:09,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 71. [2022-04-27 13:25:09,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:25:09,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:09,532 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:09,532 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:09,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:09,534 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:25:09,534 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:25:09,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:09,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:09,535 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:25:09,535 INFO L87 Difference]: Start difference. First operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 72 states. [2022-04-27 13:25:09,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:25:09,549 INFO L93 Difference]: Finished difference Result 72 states and 86 transitions. [2022-04-27 13:25:09,549 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 86 transitions. [2022-04-27 13:25:09,550 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:25:09,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:25:09,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:25:09,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:25:09,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 41 states have (on average 1.146341463414634) internal successors, (47), 44 states have internal predecessors, (47), 20 states have call successors, (20), 10 states have call predecessors, (20), 9 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-27 13:25:09,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 85 transitions. [2022-04-27 13:25:09,552 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 85 transitions. Word has length 56 [2022-04-27 13:25:09,552 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:25:09,552 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 85 transitions. [2022-04-27 13:25:09,552 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-27 13:25:09,552 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 85 transitions. [2022-04-27 13:25:09,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:25:09,553 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:25:09,553 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:25:09,569 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-27 13:25:09,768 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:09,768 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:25:09,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:25:09,769 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-27 13:25:09,769 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:25:09,769 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [458702055] [2022-04-27 13:25:09,769 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:09,769 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:25:09,777 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:25:09,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [442184439] [2022-04-27 13:25:09,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:25:09,777 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:25:09,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:25:09,779 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:25:09,798 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 13:25:09,852 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:09,853 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:25:09,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:25:09,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:25:13,810 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:25:13,810 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:13,810 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,810 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:25:13,810 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:25:13,811 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:13,811 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,811 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:25:13,811 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:13,811 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,812 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,812 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,812 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:25:13,813 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,813 INFO L290 TraceCheckUtils]: 23: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,813 INFO L272 TraceCheckUtils]: 24: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,813 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,813 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,813 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,814 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,814 INFO L272 TraceCheckUtils]: 29: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,814 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,814 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,814 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,815 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,815 INFO L272 TraceCheckUtils]: 34: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,815 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,815 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,815 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,816 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,816 INFO L290 TraceCheckUtils]: 39: Hoare triple {3119#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,817 INFO L290 TraceCheckUtils]: 40: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,817 INFO L272 TraceCheckUtils]: 41: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,817 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,817 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,817 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,818 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,818 INFO L272 TraceCheckUtils]: 46: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,818 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,818 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,818 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,819 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,819 INFO L272 TraceCheckUtils]: 51: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,819 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,819 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,819 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,819 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,820 INFO L290 TraceCheckUtils]: 56: Hoare triple {3171#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,820 INFO L290 TraceCheckUtils]: 57: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,820 INFO L272 TraceCheckUtils]: 58: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,820 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:25:13,821 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:25:13,821 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:25:13,821 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,821 INFO L272 TraceCheckUtils]: 63: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:25:13,822 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3248#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:25:13,822 INFO L290 TraceCheckUtils]: 65: Hoare triple {3248#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:25:13,822 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:13,823 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:25:13,824 INFO L290 TraceCheckUtils]: 68: Hoare triple {3223#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3262#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:25:13,825 INFO L290 TraceCheckUtils]: 69: Hoare triple {3262#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-27 13:25:13,825 INFO L290 TraceCheckUtils]: 70: Hoare triple {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} assume !false; {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} is VALID [2022-04-27 13:25:13,826 INFO L272 TraceCheckUtils]: 71: Hoare triple {3266#(and (not (<= (* 2 (mod main_~B~0 4294967296)) (mod main_~A~0 4294967296))) (<= (mod main_~B~0 4294967296) (mod main_~A~0 4294967296)) (= (+ (* (- 1) (div (* 2 (mod main_~B~0 4294967296)) 2)) (mod main_~A~0 4294967296)) main_~r~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:25:13,826 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:13,827 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:25:13,827 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:25:13,827 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-27 13:25:13,827 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:25:51,309 WARN L232 SmtUtils]: Spent 18.80s on a formula simplification that was a NOOP. DAG size: 53 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:27:29,589 WARN L232 SmtUtils]: Spent 20.24s on a formula simplification that was a NOOP. DAG size: 54 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:28:32,959 INFO L290 TraceCheckUtils]: 74: Hoare triple {3049#false} assume !false; {3049#false} is VALID [2022-04-27 13:28:32,960 INFO L290 TraceCheckUtils]: 73: Hoare triple {3277#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3049#false} is VALID [2022-04-27 13:28:32,960 INFO L290 TraceCheckUtils]: 72: Hoare triple {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3277#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:28:32,961 INFO L272 TraceCheckUtils]: 71: Hoare triple {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3273#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:28:32,961 INFO L290 TraceCheckUtils]: 70: Hoare triple {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:28:32,962 INFO L290 TraceCheckUtils]: 69: Hoare triple {3300#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {3293#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:28:32,973 INFO L290 TraceCheckUtils]: 68: Hoare triple {3304#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {3300#(= (mod main_~A~0 4294967296) (+ (* (- 1) main_~d~0) (* (+ main_~q~0 main_~p~0) (mod main_~B~0 4294967296)) main_~r~0))} is VALID [2022-04-27 13:28:32,975 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #95#return; {3304#(and (or (not (< main_~d~0 0)) (and (or (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))) (or (not (< main_~p~0 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0))) (= (mod main_~d~0 2) 0)) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0)))))} is VALID [2022-04-27 13:28:32,975 INFO L290 TraceCheckUtils]: 66: Hoare triple {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:32,975 INFO L290 TraceCheckUtils]: 65: Hoare triple {3318#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3252#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:28:32,976 INFO L290 TraceCheckUtils]: 64: Hoare triple {3048#true} ~cond := #in~cond; {3318#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:28:32,976 INFO L272 TraceCheckUtils]: 63: Hoare triple {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,976 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3048#true} {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #93#return; {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:28:32,976 INFO L290 TraceCheckUtils]: 61: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,976 INFO L290 TraceCheckUtils]: 60: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,976 INFO L290 TraceCheckUtils]: 59: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,976 INFO L272 TraceCheckUtils]: 58: Hoare triple {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,978 INFO L290 TraceCheckUtils]: 57: Hoare triple {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:28:32,979 INFO L290 TraceCheckUtils]: 56: Hoare triple {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3308#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:28:32,979 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3048#true} {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #91#return; {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:28:32,979 INFO L290 TraceCheckUtils]: 54: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,979 INFO L290 TraceCheckUtils]: 53: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,979 INFO L290 TraceCheckUtils]: 52: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,979 INFO L272 TraceCheckUtils]: 51: Hoare triple {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,980 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3048#true} {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #89#return; {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:28:32,980 INFO L290 TraceCheckUtils]: 49: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,980 INFO L290 TraceCheckUtils]: 48: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,980 INFO L290 TraceCheckUtils]: 47: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,980 INFO L272 TraceCheckUtils]: 46: Hoare triple {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,981 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3048#true} {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} #87#return; {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:28:32,981 INFO L290 TraceCheckUtils]: 44: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,981 INFO L290 TraceCheckUtils]: 43: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,981 INFO L290 TraceCheckUtils]: 42: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,981 INFO L272 TraceCheckUtils]: 41: Hoare triple {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,982 INFO L290 TraceCheckUtils]: 40: Hoare triple {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} assume !false; {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:28:32,986 INFO L290 TraceCheckUtils]: 39: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3343#(or (and (or (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0) (and (or (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (= (mod main_~p~0 2) 0)) (or (not (= (mod main_~p~0 2) 0)) (= (mod main_~A~0 4294967296) (+ (- 1) main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))))))) (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (and (or (= (+ main_~r~0 (* (+ main_~q~0 (div main_~p~0 2)) (mod main_~B~0 4294967296)) (* (- 1) (div main_~d~0 2))) (mod main_~A~0 4294967296)) (and (not (= (mod main_~p~0 2) 0)) (< main_~p~0 0))) (or (= (mod main_~A~0 4294967296) (+ main_~r~0 (* (- 1) (div main_~d~0 2)) (* (+ main_~q~0 (div main_~p~0 2) 1) (mod main_~B~0 4294967296)))) (not (< main_~p~0 0)) (= (mod main_~p~0 2) 0))))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:28:32,987 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #91#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:32,987 INFO L290 TraceCheckUtils]: 37: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,987 INFO L290 TraceCheckUtils]: 36: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,987 INFO L290 TraceCheckUtils]: 35: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,987 INFO L272 TraceCheckUtils]: 34: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,988 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #89#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:32,988 INFO L290 TraceCheckUtils]: 32: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,988 INFO L290 TraceCheckUtils]: 30: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,988 INFO L272 TraceCheckUtils]: 29: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,989 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3048#true} {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} #87#return; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:32,989 INFO L290 TraceCheckUtils]: 27: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,989 INFO L290 TraceCheckUtils]: 26: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,989 INFO L290 TraceCheckUtils]: 25: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,989 INFO L272 TraceCheckUtils]: 24: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,989 INFO L290 TraceCheckUtils]: 23: Hoare triple {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} assume !false; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:32,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {3048#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3395#(or (not (<= main_~d~0 main_~r~0)) (not (= (* (* main_~p~0 2) (mod main_~B~0 4294967296)) (* main_~d~0 2))) (= (mod main_~A~0 4294967296) (+ (* (- 1) (div (* main_~d~0 2) 2)) main_~r~0 (* (+ (div (* main_~p~0 2) 2) main_~q~0) (mod main_~B~0 4294967296)))) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:28:32,990 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3048#true} {3048#true} #85#return; {3048#true} is VALID [2022-04-27 13:28:32,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 19: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 18: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L272 TraceCheckUtils]: 17: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3048#true} {3048#true} #83#return; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 15: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L272 TraceCheckUtils]: 12: Hoare triple {3048#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {3048#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3048#true} {3048#true} #81#return; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 9: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {3048#true} assume !(0 == ~cond); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 7: Hoare triple {3048#true} ~cond := #in~cond; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L272 TraceCheckUtils]: 6: Hoare triple {3048#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 5: Hoare triple {3048#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L272 TraceCheckUtils]: 4: Hoare triple {3048#true} call #t~ret6 := main(); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3048#true} {3048#true} #101#return; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 2: Hoare triple {3048#true} assume true; {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L290 TraceCheckUtils]: 1: Hoare triple {3048#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {3048#true} is VALID [2022-04-27 13:28:32,991 INFO L272 TraceCheckUtils]: 0: Hoare triple {3048#true} call ULTIMATE.init(); {3048#true} is VALID [2022-04-27 13:28:32,992 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 36 proven. 8 refuted. 0 times theorem prover too weak. 103 trivial. 0 not checked. [2022-04-27 13:28:32,992 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:28:32,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [458702055] [2022-04-27 13:28:32,992 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:28:32,992 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [442184439] [2022-04-27 13:28:32,992 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [442184439] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:28:32,992 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:28:32,992 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 12] total 18 [2022-04-27 13:28:32,993 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [949186270] [2022-04-27 13:28:32,993 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:28:32,993 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) Word has length 75 [2022-04-27 13:28:32,993 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:28:32,994 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 18 states have (on average 2.0) internal successors, (36), 16 states have internal predecessors, (36), 9 states have call successors, (23), 2 states have call predecessors, (23), 2 states have return successors, (20), 8 states have call predecessors, (20), 7 states have call successors, (20) [2022-04-27 13:28:33,087 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:28:33,087 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:28:33,087 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:28:33,088 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:28:33,088 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=239, Unknown=2, NotChecked=0, Total=306 [2022-04-27 13:28:33,088 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:28:43,960 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:28:56,376 WARN L232 SmtUtils]: Spent 9.55s on a formula simplification. DAG size of input: 57 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:29:00,169 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:25,717 WARN L232 SmtUtils]: Spent 21.93s on a formula simplification that was a NOOP. DAG size: 70 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:29:46,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:46,598 INFO L93 Difference]: Finished difference Result 148 states and 194 transitions. [2022-04-27 13:29:46,598 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-04-27 13:29:46,598 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:29:46,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:29:46,598 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:29:46,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 137 transitions. [2022-04-27 13:29:46,601 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:29:46,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 137 transitions. [2022-04-27 13:29:46,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 19 states and 137 transitions. [2022-04-27 13:29:47,204 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:29:47,205 INFO L225 Difference]: With dead ends: 148 [2022-04-27 13:29:47,206 INFO L226 Difference]: Without dead ends: 121 [2022-04-27 13:29:47,206 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 157 GetRequests, 131 SyntacticMatches, 2 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 89.2s TimeCoverageRelationStatistics Valid=136, Invalid=512, Unknown=2, NotChecked=0, Total=650 [2022-04-27 13:29:47,206 INFO L413 NwaCegarLoop]: 37 mSDtfsCounter, 66 mSDsluCounter, 146 mSDsCounter, 0 mSdLazyCounter, 466 mSolverCounterSat, 156 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 11.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 71 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 624 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 156 IncrementalHoareTripleChecker+Valid, 466 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 11.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:29:47,207 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [71 Valid, 183 Invalid, 624 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [156 Valid, 466 Invalid, 2 Unknown, 0 Unchecked, 11.1s Time] [2022-04-27 13:29:47,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-27 13:29:47,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 103. [2022-04-27 13:29:47,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:29:47,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:47,255 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:47,256 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:29:47,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:47,259 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:29:47,259 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:29:47,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:47,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:47,259 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:29:47,259 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.15) internal successors, (69), 65 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 121 states. [2022-04-27 13:29:47,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:29:47,266 INFO L93 Difference]: Finished difference Result 121 states and 157 transitions. [2022-04-27 13:29:47,266 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 157 transitions. [2022-04-27 13:29:47,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:29:47,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:29:47,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:29:47,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:29:47,267 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:29:47,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 127 transitions. [2022-04-27 13:29:47,269 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 127 transitions. Word has length 75 [2022-04-27 13:29:47,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:29:47,271 INFO L495 AbstractCegarLoop]: Abstraction has 103 states and 127 transitions. [2022-04-27 13:29:47,272 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:29:47,272 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 127 transitions. [2022-04-27 13:29:47,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 13:29:47,273 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:29:47,273 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:29:47,289 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:29:47,487 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:29:47,487 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:29:47,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:29:47,488 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-27 13:29:47,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:29:47,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [763469338] [2022-04-27 13:29:47,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:47,488 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:29:47,507 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:29:47,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1113660207] [2022-04-27 13:29:47,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:29:47,508 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:29:47,508 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:29:47,509 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:29:47,509 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:29:47,553 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:47,554 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:29:47,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:29:47,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:29:47,854 INFO L272 TraceCheckUtils]: 0: Hoare triple {4138#true} call ULTIMATE.init(); {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L290 TraceCheckUtils]: 1: Hoare triple {4138#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L290 TraceCheckUtils]: 2: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4138#true} {4138#true} #101#return; {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L272 TraceCheckUtils]: 4: Hoare triple {4138#true} call #t~ret6 := main(); {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L290 TraceCheckUtils]: 5: Hoare triple {4138#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L272 TraceCheckUtils]: 6: Hoare triple {4138#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,854 INFO L290 TraceCheckUtils]: 7: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4138#true} {4138#true} #81#return; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {4138#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L272 TraceCheckUtils]: 12: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 15: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4138#true} {4138#true} #83#return; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L272 TraceCheckUtils]: 17: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 18: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 19: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L290 TraceCheckUtils]: 20: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,855 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4138#true} {4138#true} #85#return; {4138#true} is VALID [2022-04-27 13:29:47,856 INFO L290 TraceCheckUtils]: 22: Hoare triple {4138#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,856 INFO L290 TraceCheckUtils]: 23: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,856 INFO L272 TraceCheckUtils]: 24: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,856 INFO L290 TraceCheckUtils]: 25: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,856 INFO L290 TraceCheckUtils]: 26: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,856 INFO L290 TraceCheckUtils]: 27: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,856 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,857 INFO L272 TraceCheckUtils]: 29: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 32: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,857 INFO L272 TraceCheckUtils]: 34: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 35: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 36: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L290 TraceCheckUtils]: 37: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,857 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,858 INFO L290 TraceCheckUtils]: 39: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 40: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,859 INFO L272 TraceCheckUtils]: 41: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 42: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 43: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 44: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,859 INFO L272 TraceCheckUtils]: 46: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 47: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 48: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,859 INFO L290 TraceCheckUtils]: 49: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,860 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,860 INFO L272 TraceCheckUtils]: 51: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,860 INFO L290 TraceCheckUtils]: 52: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,860 INFO L290 TraceCheckUtils]: 53: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,860 INFO L290 TraceCheckUtils]: 54: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,860 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,860 INFO L290 TraceCheckUtils]: 56: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 57: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,861 INFO L272 TraceCheckUtils]: 58: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 59: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 60: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 61: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,861 INFO L272 TraceCheckUtils]: 63: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 64: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 65: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,861 INFO L290 TraceCheckUtils]: 66: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,874 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,875 INFO L290 TraceCheckUtils]: 68: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:29:47,875 INFO L290 TraceCheckUtils]: 69: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 70: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !false; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:29:47,876 INFO L272 TraceCheckUtils]: 71: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 72: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 73: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 74: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4138#true} {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #93#return; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:29:47,876 INFO L272 TraceCheckUtils]: 76: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 77: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 78: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:29:47,876 INFO L290 TraceCheckUtils]: 79: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:29:47,877 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4138#true} {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} #95#return; {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} is VALID [2022-04-27 13:29:47,877 INFO L290 TraceCheckUtils]: 81: Hoare triple {4351#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)))} assume !(1 != ~p~0); {4388#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} is VALID [2022-04-27 13:29:47,878 INFO L272 TraceCheckUtils]: 82: Hoare triple {4388#(and (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:29:47,878 INFO L290 TraceCheckUtils]: 83: Hoare triple {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4396#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:29:47,879 INFO L290 TraceCheckUtils]: 84: Hoare triple {4396#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4139#false} is VALID [2022-04-27 13:29:47,879 INFO L290 TraceCheckUtils]: 85: Hoare triple {4139#false} assume !false; {4139#false} is VALID [2022-04-27 13:29:47,880 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:29:47,880 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:12,186 INFO L290 TraceCheckUtils]: 85: Hoare triple {4139#false} assume !false; {4139#false} is VALID [2022-04-27 13:30:12,186 INFO L290 TraceCheckUtils]: 84: Hoare triple {4396#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4139#false} is VALID [2022-04-27 13:30:12,186 INFO L290 TraceCheckUtils]: 83: Hoare triple {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4396#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:12,187 INFO L272 TraceCheckUtils]: 82: Hoare triple {4412#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4392#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:12,187 INFO L290 TraceCheckUtils]: 81: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4412#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:30:12,187 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4138#true} {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:12,187 INFO L290 TraceCheckUtils]: 79: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,187 INFO L290 TraceCheckUtils]: 78: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L290 TraceCheckUtils]: 77: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L272 TraceCheckUtils]: 76: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4138#true} {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:12,188 INFO L290 TraceCheckUtils]: 74: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L290 TraceCheckUtils]: 73: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L290 TraceCheckUtils]: 72: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L272 TraceCheckUtils]: 71: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,188 INFO L290 TraceCheckUtils]: 70: Hoare triple {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:12,189 INFO L290 TraceCheckUtils]: 69: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4416#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 68: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,190 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #95#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 66: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 65: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 64: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L272 TraceCheckUtils]: 63: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #93#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 61: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 60: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,190 INFO L290 TraceCheckUtils]: 59: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,191 INFO L272 TraceCheckUtils]: 58: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,191 INFO L290 TraceCheckUtils]: 57: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,191 INFO L290 TraceCheckUtils]: 56: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !(~r~0 >= ~d~0); {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,191 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,191 INFO L290 TraceCheckUtils]: 54: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,191 INFO L290 TraceCheckUtils]: 53: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L290 TraceCheckUtils]: 52: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L272 TraceCheckUtils]: 51: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,192 INFO L290 TraceCheckUtils]: 49: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L290 TraceCheckUtils]: 48: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L290 TraceCheckUtils]: 47: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,192 INFO L272 TraceCheckUtils]: 46: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,193 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,193 INFO L290 TraceCheckUtils]: 44: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,193 INFO L290 TraceCheckUtils]: 43: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,194 INFO L290 TraceCheckUtils]: 42: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,194 INFO L272 TraceCheckUtils]: 41: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,194 INFO L290 TraceCheckUtils]: 40: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,194 INFO L290 TraceCheckUtils]: 39: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,194 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #91#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,194 INFO L290 TraceCheckUtils]: 37: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 36: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 35: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L272 TraceCheckUtils]: 34: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #89#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 30: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L272 TraceCheckUtils]: 29: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,195 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4138#true} {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} #87#return; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,195 INFO L290 TraceCheckUtils]: 27: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 26: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 25: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L272 TraceCheckUtils]: 24: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} assume !false; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {4138#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4209#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~q~0 0))} is VALID [2022-04-27 13:30:12,196 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4138#true} {4138#true} #85#return; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 20: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 19: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 18: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L272 TraceCheckUtils]: 17: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4138#true} {4138#true} #83#return; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 15: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,196 INFO L290 TraceCheckUtils]: 14: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L272 TraceCheckUtils]: 12: Hoare triple {4138#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 11: Hoare triple {4138#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4138#true} {4138#true} #81#return; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 9: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 8: Hoare triple {4138#true} assume !(0 == ~cond); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 7: Hoare triple {4138#true} ~cond := #in~cond; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L272 TraceCheckUtils]: 6: Hoare triple {4138#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 5: Hoare triple {4138#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L272 TraceCheckUtils]: 4: Hoare triple {4138#true} call #t~ret6 := main(); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4138#true} {4138#true} #101#return; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 2: Hoare triple {4138#true} assume true; {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {4138#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L272 TraceCheckUtils]: 0: Hoare triple {4138#true} call ULTIMATE.init(); {4138#true} is VALID [2022-04-27 13:30:12,197 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 4 refuted. 0 times theorem prover too weak. 197 trivial. 0 not checked. [2022-04-27 13:30:12,198 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:12,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [763469338] [2022-04-27 13:30:12,198 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:12,198 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1113660207] [2022-04-27 13:30:12,198 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1113660207] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:12,198 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:12,198 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 9 [2022-04-27 13:30:12,199 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1782337357] [2022-04-27 13:30:12,199 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:12,200 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:30:12,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:12,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:12,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:12,243 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:30:12,243 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:12,243 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:30:12,243 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:30:12,244 INFO L87 Difference]: Start difference. First operand 103 states and 127 transitions. Second operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:12,660 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:12,660 INFO L93 Difference]: Finished difference Result 116 states and 143 transitions. [2022-04-27 13:30:12,660 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:30:12,660 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) Word has length 86 [2022-04-27 13:30:12,660 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:12,661 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:12,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:30:12,662 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:12,663 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2022-04-27 13:30:12,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2022-04-27 13:30:12,720 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:12,722 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:30:12,722 INFO L226 Difference]: Without dead ends: 114 [2022-04-27 13:30:12,722 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 162 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=79, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:30:12,723 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 17 mSDsluCounter, 161 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 205 SdHoareTripleChecker+Invalid, 171 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:12,723 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 205 Invalid, 171 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:30:12,723 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-27 13:30:12,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2022-04-27 13:30:12,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:12,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:12,755 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:12,756 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:12,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:12,780 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:30:12,780 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:30:12,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:12,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:12,785 INFO L74 IsIncluded]: Start isIncluded. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:30:12,785 INFO L87 Difference]: Start difference. First operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) Second operand 114 states. [2022-04-27 13:30:12,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:12,788 INFO L93 Difference]: Finished difference Result 114 states and 141 transitions. [2022-04-27 13:30:12,788 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 141 transitions. [2022-04-27 13:30:12,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:12,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:12,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:12,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:12,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 107 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 67 states have internal predecessors, (72), 32 states have call successors, (32), 13 states have call predecessors, (32), 12 states have return successors, (30), 26 states have call predecessors, (30), 30 states have call successors, (30) [2022-04-27 13:30:12,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 134 transitions. [2022-04-27 13:30:12,801 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 134 transitions. Word has length 86 [2022-04-27 13:30:12,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:12,801 INFO L495 AbstractCegarLoop]: Abstraction has 107 states and 134 transitions. [2022-04-27 13:30:12,802 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 7 states have (on average 3.5714285714285716) internal successors, (25), 8 states have internal predecessors, (25), 6 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (13), 4 states have call predecessors, (13), 4 states have call successors, (13) [2022-04-27 13:30:12,802 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 134 transitions. [2022-04-27 13:30:12,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 89 [2022-04-27 13:30:12,803 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:12,803 INFO L195 NwaCegarLoop]: trace histogram [11, 10, 10, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:30:12,823 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:30:13,019 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:13,019 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:13,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:13,020 INFO L85 PathProgramCache]: Analyzing trace with hash -1353450239, now seen corresponding path program 2 times [2022-04-27 13:30:13,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:13,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [446624982] [2022-04-27 13:30:13,020 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:13,020 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:13,029 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:13,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [425488720] [2022-04-27 13:30:13,029 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:30:13,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:13,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:13,035 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:30:13,038 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-27 13:30:13,089 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:30:13,089 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:30:13,090 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-27 13:30:13,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:13,097 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:13,229 INFO L272 TraceCheckUtils]: 0: Hoare triple {5217#true} call ULTIMATE.init(); {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {5217#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5217#true} {5217#true} #101#return; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L272 TraceCheckUtils]: 4: Hoare triple {5217#true} call #t~ret6 := main(); {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {5217#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L272 TraceCheckUtils]: 6: Hoare triple {5217#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5217#true} {5217#true} #81#return; {5217#true} is VALID [2022-04-27 13:30:13,229 INFO L290 TraceCheckUtils]: 11: Hoare triple {5217#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L272 TraceCheckUtils]: 12: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 13: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 14: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 15: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5217#true} {5217#true} #83#return; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L272 TraceCheckUtils]: 17: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 20: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5217#true} {5217#true} #85#return; {5217#true} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {5217#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,230 INFO L290 TraceCheckUtils]: 23: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,231 INFO L272 TraceCheckUtils]: 24: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 25: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 26: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 27: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #87#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,231 INFO L272 TraceCheckUtils]: 29: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 30: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 31: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,231 INFO L290 TraceCheckUtils]: 32: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,233 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #89#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,233 INFO L272 TraceCheckUtils]: 34: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,233 INFO L290 TraceCheckUtils]: 35: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,233 INFO L290 TraceCheckUtils]: 36: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,233 INFO L290 TraceCheckUtils]: 37: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,233 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #91#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {5288#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,234 INFO L290 TraceCheckUtils]: 40: Hoare triple {5340#(= main_~p~0 2)} assume !false; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,234 INFO L272 TraceCheckUtils]: 41: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,235 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #87#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,235 INFO L272 TraceCheckUtils]: 46: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,235 INFO L290 TraceCheckUtils]: 47: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L290 TraceCheckUtils]: 49: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #89#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,236 INFO L272 TraceCheckUtils]: 51: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L290 TraceCheckUtils]: 52: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L290 TraceCheckUtils]: 53: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L290 TraceCheckUtils]: 54: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,236 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #91#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,237 INFO L290 TraceCheckUtils]: 56: Hoare triple {5340#(= main_~p~0 2)} assume !(~r~0 >= ~d~0); {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,237 INFO L290 TraceCheckUtils]: 57: Hoare triple {5340#(= main_~p~0 2)} assume !false; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,237 INFO L272 TraceCheckUtils]: 58: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,237 INFO L290 TraceCheckUtils]: 60: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,238 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #93#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,238 INFO L272 TraceCheckUtils]: 63: Hoare triple {5340#(= main_~p~0 2)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,238 INFO L290 TraceCheckUtils]: 64: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,238 INFO L290 TraceCheckUtils]: 65: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,238 INFO L290 TraceCheckUtils]: 66: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,238 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5217#true} {5340#(= main_~p~0 2)} #95#return; {5340#(= main_~p~0 2)} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 68: Hoare triple {5340#(= main_~p~0 2)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 69: Hoare triple {5288#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 70: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,239 INFO L272 TraceCheckUtils]: 71: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 72: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 73: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,239 INFO L290 TraceCheckUtils]: 74: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,240 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #93#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,240 INFO L272 TraceCheckUtils]: 76: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,240 INFO L290 TraceCheckUtils]: 77: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,240 INFO L290 TraceCheckUtils]: 78: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,240 INFO L290 TraceCheckUtils]: 79: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,240 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #95#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 81: Hoare triple {5288#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 82: Hoare triple {5218#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 83: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L272 TraceCheckUtils]: 84: Hoare triple {5218#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 85: Hoare triple {5218#false} ~cond := #in~cond; {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 86: Hoare triple {5218#false} assume 0 == ~cond; {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L290 TraceCheckUtils]: 87: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:13,241 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:30:13,241 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:13,481 INFO L290 TraceCheckUtils]: 87: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L290 TraceCheckUtils]: 86: Hoare triple {5218#false} assume 0 == ~cond; {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L290 TraceCheckUtils]: 85: Hoare triple {5218#false} ~cond := #in~cond; {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L272 TraceCheckUtils]: 84: Hoare triple {5218#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L290 TraceCheckUtils]: 83: Hoare triple {5218#false} assume !false; {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L290 TraceCheckUtils]: 82: Hoare triple {5218#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5218#false} is VALID [2022-04-27 13:30:13,482 INFO L290 TraceCheckUtils]: 81: Hoare triple {5288#(= main_~p~0 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5218#false} is VALID [2022-04-27 13:30:13,483 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #95#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,483 INFO L290 TraceCheckUtils]: 79: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,483 INFO L290 TraceCheckUtils]: 78: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,483 INFO L290 TraceCheckUtils]: 77: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,483 INFO L272 TraceCheckUtils]: 76: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,484 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #93#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,484 INFO L290 TraceCheckUtils]: 74: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,484 INFO L290 TraceCheckUtils]: 73: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,484 INFO L290 TraceCheckUtils]: 72: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,484 INFO L272 TraceCheckUtils]: 71: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,484 INFO L290 TraceCheckUtils]: 70: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,484 INFO L290 TraceCheckUtils]: 69: Hoare triple {5288#(= main_~p~0 1)} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,485 INFO L290 TraceCheckUtils]: 68: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,485 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #95#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 66: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 65: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 64: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L272 TraceCheckUtils]: 63: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #93#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 61: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 60: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L290 TraceCheckUtils]: 59: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,486 INFO L272 TraceCheckUtils]: 58: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,487 INFO L290 TraceCheckUtils]: 57: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !false; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,487 INFO L290 TraceCheckUtils]: 56: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !(~r~0 >= ~d~0); {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,487 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #91#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,487 INFO L290 TraceCheckUtils]: 54: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,487 INFO L290 TraceCheckUtils]: 53: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,487 INFO L290 TraceCheckUtils]: 52: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,488 INFO L272 TraceCheckUtils]: 51: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,488 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #89#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,488 INFO L290 TraceCheckUtils]: 49: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,488 INFO L290 TraceCheckUtils]: 48: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,488 INFO L290 TraceCheckUtils]: 47: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,488 INFO L272 TraceCheckUtils]: 46: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,489 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5217#true} {5542#(= (div main_~p~0 2) 1)} #87#return; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,489 INFO L290 TraceCheckUtils]: 44: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,489 INFO L290 TraceCheckUtils]: 43: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,489 INFO L290 TraceCheckUtils]: 42: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,489 INFO L272 TraceCheckUtils]: 41: Hoare triple {5542#(= (div main_~p~0 2) 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,489 INFO L290 TraceCheckUtils]: 40: Hoare triple {5542#(= (div main_~p~0 2) 1)} assume !false; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,489 INFO L290 TraceCheckUtils]: 39: Hoare triple {5288#(= main_~p~0 1)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5542#(= (div main_~p~0 2) 1)} is VALID [2022-04-27 13:30:13,490 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #91#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,490 INFO L290 TraceCheckUtils]: 37: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,490 INFO L290 TraceCheckUtils]: 36: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,490 INFO L290 TraceCheckUtils]: 35: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,490 INFO L272 TraceCheckUtils]: 34: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,490 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #89#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,490 INFO L290 TraceCheckUtils]: 32: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 31: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 30: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L272 TraceCheckUtils]: 29: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5217#true} {5288#(= main_~p~0 1)} #87#return; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 27: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 26: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 25: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L272 TraceCheckUtils]: 24: Hoare triple {5288#(= main_~p~0 1)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,491 INFO L290 TraceCheckUtils]: 23: Hoare triple {5288#(= main_~p~0 1)} assume !false; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {5217#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5288#(= main_~p~0 1)} is VALID [2022-04-27 13:30:13,492 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5217#true} {5217#true} #85#return; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 18: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L272 TraceCheckUtils]: 17: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5217#true} {5217#true} #83#return; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 15: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 14: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 13: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L272 TraceCheckUtils]: 12: Hoare triple {5217#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 11: Hoare triple {5217#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5217#true} {5217#true} #81#return; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 9: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 8: Hoare triple {5217#true} assume !(0 == ~cond); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 7: Hoare triple {5217#true} ~cond := #in~cond; {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L272 TraceCheckUtils]: 6: Hoare triple {5217#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {5217#true} is VALID [2022-04-27 13:30:13,492 INFO L290 TraceCheckUtils]: 5: Hoare triple {5217#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L272 TraceCheckUtils]: 4: Hoare triple {5217#true} call #t~ret6 := main(); {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5217#true} {5217#true} #101#return; {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L290 TraceCheckUtils]: 2: Hoare triple {5217#true} assume true; {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {5217#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L272 TraceCheckUtils]: 0: Hoare triple {5217#true} call ULTIMATE.init(); {5217#true} is VALID [2022-04-27 13:30:13,493 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:30:13,493 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:13,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [446624982] [2022-04-27 13:30:13,493 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:13,493 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425488720] [2022-04-27 13:30:13,493 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [425488720] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:13,493 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:13,493 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4] total 5 [2022-04-27 13:30:13,493 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1455701414] [2022-04-27 13:30:13,493 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:13,494 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:30:13,494 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:13,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:13,550 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:13,551 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:30:13,551 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:13,551 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:30:13,551 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:13,551 INFO L87 Difference]: Start difference. First operand 107 states and 134 transitions. Second operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:13,776 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:13,776 INFO L93 Difference]: Finished difference Result 130 states and 164 transitions. [2022-04-27 13:30:13,776 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:30:13,776 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) Word has length 88 [2022-04-27 13:30:13,776 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:13,777 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:13,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:30:13,778 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:13,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 91 transitions. [2022-04-27 13:30:13,779 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 91 transitions. [2022-04-27 13:30:13,855 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:13,857 INFO L225 Difference]: With dead ends: 130 [2022-04-27 13:30:13,857 INFO L226 Difference]: Without dead ends: 111 [2022-04-27 13:30:13,857 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 175 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:13,858 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 1 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 35 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 2 SdHoareTripleChecker+Valid, 131 SdHoareTripleChecker+Invalid, 36 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 35 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:13,858 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [2 Valid, 131 Invalid, 36 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 35 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:30:13,858 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2022-04-27 13:30:13,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2022-04-27 13:30:13,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:13,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:13,908 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:13,908 INFO L87 Difference]: Start difference. First operand 111 states. Second operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:13,910 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:13,910 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:30:13,910 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:13,911 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:13,911 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:13,911 INFO L74 IsIncluded]: Start isIncluded. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:30:13,911 INFO L87 Difference]: Start difference. First operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) Second operand 111 states. [2022-04-27 13:30:13,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:13,913 INFO L93 Difference]: Finished difference Result 111 states and 140 transitions. [2022-04-27 13:30:13,913 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:13,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:13,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:13,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:13,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:13,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 111 states, 64 states have (on average 1.15625) internal successors, (74), 69 states have internal predecessors, (74), 34 states have call successors, (34), 13 states have call predecessors, (34), 12 states have return successors, (32), 28 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-27 13:30:13,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 140 transitions. [2022-04-27 13:30:13,916 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 140 transitions. Word has length 88 [2022-04-27 13:30:13,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:13,916 INFO L495 AbstractCegarLoop]: Abstraction has 111 states and 140 transitions. [2022-04-27 13:30:13,916 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 6.0) internal successors, (30), 5 states have internal predecessors, (30), 5 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 4 states have call predecessors, (19), 4 states have call successors, (19) [2022-04-27 13:30:13,916 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 140 transitions. [2022-04-27 13:30:13,916 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:30:13,916 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:13,916 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:30:13,934 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 13:30:14,132 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:14,133 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:14,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:14,133 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-27 13:30:14,133 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:14,133 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [402402298] [2022-04-27 13:30:14,133 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:14,133 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:14,142 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:14,142 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2046372204] [2022-04-27 13:30:14,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:14,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:14,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:14,143 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:30:14,144 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-27 13:30:14,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:14,183 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:30:14,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:14,194 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:15,004 INFO L272 TraceCheckUtils]: 0: Hoare triple {6319#true} call ULTIMATE.init(); {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#true} {6319#true} #101#return; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#true} call #t~ret6 := main(); {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L272 TraceCheckUtils]: 6: Hoare triple {6319#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6319#true} {6319#true} #81#return; {6319#true} is VALID [2022-04-27 13:30:15,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {6319#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L272 TraceCheckUtils]: 12: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6319#true} {6319#true} #83#return; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L272 TraceCheckUtils]: 17: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 18: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 19: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 20: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6319#true} {6319#true} #85#return; {6319#true} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 22: Hoare triple {6319#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,005 INFO L290 TraceCheckUtils]: 23: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,006 INFO L272 TraceCheckUtils]: 24: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 25: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 26: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 27: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,006 INFO L272 TraceCheckUtils]: 29: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 30: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 31: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,006 INFO L290 TraceCheckUtils]: 32: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,007 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,007 INFO L272 TraceCheckUtils]: 34: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,007 INFO L290 TraceCheckUtils]: 35: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,007 INFO L290 TraceCheckUtils]: 36: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,007 INFO L290 TraceCheckUtils]: 37: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,007 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,008 INFO L290 TraceCheckUtils]: 39: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:15,008 INFO L290 TraceCheckUtils]: 40: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:15,009 INFO L272 TraceCheckUtils]: 41: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 42: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 43: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 44: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:15,009 INFO L272 TraceCheckUtils]: 46: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 47: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,009 INFO L290 TraceCheckUtils]: 49: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,010 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:15,010 INFO L272 TraceCheckUtils]: 51: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,010 INFO L290 TraceCheckUtils]: 52: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,010 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,010 INFO L290 TraceCheckUtils]: 54: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,010 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6319#true} {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:30:15,011 INFO L290 TraceCheckUtils]: 56: Hoare triple {6442#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 57: Hoare triple {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:15,012 INFO L272 TraceCheckUtils]: 58: Hoare triple {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 59: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 60: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 61: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6319#true} {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:15,012 INFO L272 TraceCheckUtils]: 63: Hoare triple {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 64: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 65: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,012 INFO L290 TraceCheckUtils]: 66: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,013 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6319#true} {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:30:15,014 INFO L290 TraceCheckUtils]: 68: Hoare triple {6494#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,014 INFO L290 TraceCheckUtils]: 69: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,014 INFO L290 TraceCheckUtils]: 70: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,015 INFO L272 TraceCheckUtils]: 71: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,015 INFO L290 TraceCheckUtils]: 72: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,015 INFO L290 TraceCheckUtils]: 73: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,015 INFO L290 TraceCheckUtils]: 74: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,018 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,018 INFO L272 TraceCheckUtils]: 76: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,018 INFO L290 TraceCheckUtils]: 77: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,018 INFO L290 TraceCheckUtils]: 78: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,018 INFO L290 TraceCheckUtils]: 79: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,019 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,019 INFO L290 TraceCheckUtils]: 81: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,019 INFO L272 TraceCheckUtils]: 82: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,019 INFO L290 TraceCheckUtils]: 83: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,019 INFO L290 TraceCheckUtils]: 84: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,019 INFO L290 TraceCheckUtils]: 85: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,020 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6319#true} {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:30:15,020 INFO L272 TraceCheckUtils]: 87: Hoare triple {6531#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:15,021 INFO L290 TraceCheckUtils]: 88: Hoare triple {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:15,021 INFO L290 TraceCheckUtils]: 89: Hoare triple {6593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6320#false} is VALID [2022-04-27 13:30:15,021 INFO L290 TraceCheckUtils]: 90: Hoare triple {6320#false} assume !false; {6320#false} is VALID [2022-04-27 13:30:15,021 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:30:15,021 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:30:15,550 INFO L290 TraceCheckUtils]: 90: Hoare triple {6320#false} assume !false; {6320#false} is VALID [2022-04-27 13:30:15,550 INFO L290 TraceCheckUtils]: 89: Hoare triple {6593#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6320#false} is VALID [2022-04-27 13:30:15,550 INFO L290 TraceCheckUtils]: 88: Hoare triple {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6593#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:15,551 INFO L272 TraceCheckUtils]: 87: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6589#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:15,551 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,551 INFO L290 TraceCheckUtils]: 85: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,551 INFO L290 TraceCheckUtils]: 84: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,551 INFO L290 TraceCheckUtils]: 83: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,552 INFO L272 TraceCheckUtils]: 82: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,552 INFO L290 TraceCheckUtils]: 81: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,552 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,552 INFO L290 TraceCheckUtils]: 79: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,552 INFO L290 TraceCheckUtils]: 78: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,552 INFO L290 TraceCheckUtils]: 77: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,552 INFO L272 TraceCheckUtils]: 76: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,553 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {6319#true} {6390#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,553 INFO L290 TraceCheckUtils]: 74: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,553 INFO L290 TraceCheckUtils]: 73: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,553 INFO L290 TraceCheckUtils]: 72: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,553 INFO L272 TraceCheckUtils]: 71: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,553 INFO L290 TraceCheckUtils]: 70: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,554 INFO L290 TraceCheckUtils]: 69: Hoare triple {6390#(= main_~d~0 (mod main_~B~0 4294967296))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,555 INFO L290 TraceCheckUtils]: 68: Hoare triple {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {6390#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:15,555 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6319#true} {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #95#return; {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:30:15,555 INFO L290 TraceCheckUtils]: 66: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,555 INFO L290 TraceCheckUtils]: 65: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,555 INFO L290 TraceCheckUtils]: 64: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,555 INFO L272 TraceCheckUtils]: 63: Hoare triple {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,556 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6319#true} {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} #93#return; {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:30:15,556 INFO L290 TraceCheckUtils]: 61: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,556 INFO L290 TraceCheckUtils]: 60: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,556 INFO L290 TraceCheckUtils]: 59: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,556 INFO L272 TraceCheckUtils]: 58: Hoare triple {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,557 INFO L290 TraceCheckUtils]: 57: Hoare triple {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} assume !false; {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:30:15,557 INFO L290 TraceCheckUtils]: 56: Hoare triple {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !(~r~0 >= ~d~0); {6666#(and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0))))} is VALID [2022-04-27 13:30:15,558 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6319#true} {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #91#return; {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:30:15,558 INFO L290 TraceCheckUtils]: 54: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,558 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,558 INFO L290 TraceCheckUtils]: 52: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,558 INFO L272 TraceCheckUtils]: 51: Hoare triple {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,558 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6319#true} {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #89#return; {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 49: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 47: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L272 TraceCheckUtils]: 46: Hoare triple {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6319#true} {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} #87#return; {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 44: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 43: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L290 TraceCheckUtils]: 42: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,559 INFO L272 TraceCheckUtils]: 41: Hoare triple {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,560 INFO L290 TraceCheckUtils]: 40: Hoare triple {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} assume !false; {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:30:15,561 INFO L290 TraceCheckUtils]: 39: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6703#(or (<= main_~d~0 main_~r~0) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (div main_~d~0 2) (mod main_~B~0 4294967296))) (or (= (+ (div main_~d~0 2) 1) (mod main_~B~0 4294967296)) (not (< main_~d~0 0)))))} is VALID [2022-04-27 13:30:15,561 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:15,561 INFO L290 TraceCheckUtils]: 37: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,561 INFO L290 TraceCheckUtils]: 36: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,561 INFO L290 TraceCheckUtils]: 35: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,561 INFO L272 TraceCheckUtils]: 34: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:15,562 INFO L290 TraceCheckUtils]: 32: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L290 TraceCheckUtils]: 31: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L290 TraceCheckUtils]: 30: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L272 TraceCheckUtils]: 29: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6319#true} {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:15,562 INFO L290 TraceCheckUtils]: 27: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,562 INFO L290 TraceCheckUtils]: 26: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,563 INFO L290 TraceCheckUtils]: 25: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,563 INFO L272 TraceCheckUtils]: 24: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,563 INFO L290 TraceCheckUtils]: 23: Hoare triple {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:15,563 INFO L290 TraceCheckUtils]: 22: Hoare triple {6319#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6755#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:30:15,563 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6319#true} {6319#true} #85#return; {6319#true} is VALID [2022-04-27 13:30:15,563 INFO L290 TraceCheckUtils]: 20: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,563 INFO L290 TraceCheckUtils]: 19: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6319#true} {6319#true} #83#return; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {6319#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {6319#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6319#true} {6319#true} #81#return; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {6319#true} assume !(0 == ~cond); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {6319#true} ~cond := #in~cond; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L272 TraceCheckUtils]: 6: Hoare triple {6319#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {6319#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {6319#true} call #t~ret6 := main(); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6319#true} {6319#true} #101#return; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {6319#true} assume true; {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {6319#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {6319#true} is VALID [2022-04-27 13:30:15,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {6319#true} call ULTIMATE.init(); {6319#true} is VALID [2022-04-27 13:30:15,565 INFO L134 CoverageAnalysis]: Checked inductivity of 263 backedges. 22 proven. 9 refuted. 0 times theorem prover too weak. 232 trivial. 0 not checked. [2022-04-27 13:30:15,565 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:15,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [402402298] [2022-04-27 13:30:15,565 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:15,565 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2046372204] [2022-04-27 13:30:15,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2046372204] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:30:15,565 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:30:15,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:30:15,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239969015] [2022-04-27 13:30:15,565 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:30:15,566 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:30:15,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:15,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:15,647 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:15,647 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:30:15,648 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:15,648 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:30:15,648 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:30:15,648 INFO L87 Difference]: Start difference. First operand 111 states and 140 transitions. Second operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:16,827 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:16,829 INFO L93 Difference]: Finished difference Result 119 states and 148 transitions. [2022-04-27 13:30:16,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:30:16,829 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) Word has length 91 [2022-04-27 13:30:16,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:16,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:16,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:30:16,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:16,833 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:30:16,833 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 13:30:16,886 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:16,891 INFO L225 Difference]: With dead ends: 119 [2022-04-27 13:30:16,891 INFO L226 Difference]: Without dead ends: 102 [2022-04-27 13:30:16,892 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:30:16,892 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 10 mSDsluCounter, 273 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 224 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:16,893 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 331 Invalid, 224 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-27 13:30:16,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-27 13:30:16,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 102. [2022-04-27 13:30:16,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:16,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:16,935 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:16,935 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:16,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:16,937 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:30:16,937 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:16,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:16,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:16,938 INFO L74 IsIncluded]: Start isIncluded. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:30:16,938 INFO L87 Difference]: Start difference. First operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) Second operand 102 states. [2022-04-27 13:30:16,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:16,940 INFO L93 Difference]: Finished difference Result 102 states and 126 transitions. [2022-04-27 13:30:16,940 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:16,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:16,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:16,941 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:16,941 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:16,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 102 states, 59 states have (on average 1.152542372881356) internal successors, (68), 64 states have internal predecessors, (68), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 24 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:16,943 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 126 transitions. [2022-04-27 13:30:16,943 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 126 transitions. Word has length 91 [2022-04-27 13:30:16,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:16,943 INFO L495 AbstractCegarLoop]: Abstraction has 102 states and 126 transitions. [2022-04-27 13:30:16,943 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 3.0) internal successors, (33), 10 states have internal predecessors, (33), 8 states have call successors, (29), 2 states have call predecessors, (29), 1 states have return successors, (26), 8 states have call predecessors, (26), 8 states have call successors, (26) [2022-04-27 13:30:16,943 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 126 transitions. [2022-04-27 13:30:16,944 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 96 [2022-04-27 13:30:16,944 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:16,944 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:30:16,959 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-27 13:30:17,159 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-27 13:30:17,161 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:17,161 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:17,161 INFO L85 PathProgramCache]: Analyzing trace with hash -941589367, now seen corresponding path program 1 times [2022-04-27 13:30:17,161 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:17,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595006450] [2022-04-27 13:30:17,161 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:17,161 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:17,184 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:17,184 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [589630465] [2022-04-27 13:30:17,184 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:17,184 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:17,184 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:17,192 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:30:17,193 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-27 13:30:17,233 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:17,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 212 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-27 13:30:17,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:17,248 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:18,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {7405#true} call ULTIMATE.init(); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {7405#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7405#true} {7405#true} #101#return; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {7405#true} call #t~ret6 := main(); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {7405#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {7405#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7405#true} {7405#true} #81#return; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 11: Hoare triple {7405#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L272 TraceCheckUtils]: 12: Hoare triple {7405#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 15: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7405#true} {7405#true} #83#return; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L272 TraceCheckUtils]: 17: Hoare triple {7405#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 18: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,109 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7405#true} {7405#true} #85#return; {7405#true} is VALID [2022-04-27 13:30:18,110 INFO L290 TraceCheckUtils]: 22: Hoare triple {7405#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 23: Hoare triple {7476#(<= 1 main_~p~0)} assume !false; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:18,111 INFO L272 TraceCheckUtils]: 24: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 27: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #87#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:18,111 INFO L272 TraceCheckUtils]: 29: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 30: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 31: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,111 INFO L290 TraceCheckUtils]: 32: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,112 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #89#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:18,112 INFO L272 TraceCheckUtils]: 34: Hoare triple {7476#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,112 INFO L290 TraceCheckUtils]: 35: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,112 INFO L290 TraceCheckUtils]: 36: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,112 INFO L290 TraceCheckUtils]: 37: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,112 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7405#true} {7476#(<= 1 main_~p~0)} #91#return; {7476#(<= 1 main_~p~0)} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {7476#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 40: Hoare triple {7528#(<= 1 (div main_~p~0 2))} assume !false; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:18,113 INFO L272 TraceCheckUtils]: 41: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 42: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 43: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 44: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #87#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:18,113 INFO L272 TraceCheckUtils]: 46: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 47: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 48: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,113 INFO L290 TraceCheckUtils]: 49: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,114 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #89#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:18,114 INFO L272 TraceCheckUtils]: 51: Hoare triple {7528#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,114 INFO L290 TraceCheckUtils]: 52: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,114 INFO L290 TraceCheckUtils]: 53: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,114 INFO L290 TraceCheckUtils]: 54: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,114 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7405#true} {7528#(<= 1 (div main_~p~0 2))} #91#return; {7528#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:30:18,114 INFO L290 TraceCheckUtils]: 56: Hoare triple {7528#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,115 INFO L290 TraceCheckUtils]: 57: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,115 INFO L272 TraceCheckUtils]: 58: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,115 INFO L290 TraceCheckUtils]: 59: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,115 INFO L290 TraceCheckUtils]: 60: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,115 INFO L290 TraceCheckUtils]: 61: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,115 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,116 INFO L272 TraceCheckUtils]: 63: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,116 INFO L290 TraceCheckUtils]: 64: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L290 TraceCheckUtils]: 65: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L290 TraceCheckUtils]: 66: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,117 INFO L272 TraceCheckUtils]: 68: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L290 TraceCheckUtils]: 69: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L290 TraceCheckUtils]: 70: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L290 TraceCheckUtils]: 71: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,117 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 73: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 74: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,118 INFO L272 TraceCheckUtils]: 75: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 76: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 77: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 78: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,118 INFO L272 TraceCheckUtils]: 80: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 81: Hoare triple {7405#true} ~cond := #in~cond; {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 82: Hoare triple {7405#true} assume !(0 == ~cond); {7405#true} is VALID [2022-04-27 13:30:18,118 INFO L290 TraceCheckUtils]: 83: Hoare triple {7405#true} assume true; {7405#true} is VALID [2022-04-27 13:30:18,119 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7405#true} {7580#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {7580#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 85: Hoare triple {7580#(<= 1 (div (div main_~p~0 2) 2))} assume !(1 != ~p~0); {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L272 TraceCheckUtils]: 86: Hoare triple {7406#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 87: Hoare triple {7406#false} ~cond := #in~cond; {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 88: Hoare triple {7406#false} assume !(0 == ~cond); {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 89: Hoare triple {7406#false} assume true; {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {7406#false} {7406#false} #97#return; {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L272 TraceCheckUtils]: 91: Hoare triple {7406#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 92: Hoare triple {7406#false} ~cond := #in~cond; {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 93: Hoare triple {7406#false} assume 0 == ~cond; {7406#false} is VALID [2022-04-27 13:30:18,119 INFO L290 TraceCheckUtils]: 94: Hoare triple {7406#false} assume !false; {7406#false} is VALID [2022-04-27 13:30:18,120 INFO L134 CoverageAnalysis]: Checked inductivity of 315 backedges. 81 proven. 0 refuted. 0 times theorem prover too weak. 234 trivial. 0 not checked. [2022-04-27 13:30:18,120 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:30:18,120 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:30:18,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595006450] [2022-04-27 13:30:18,120 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:30:18,120 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [589630465] [2022-04-27 13:30:18,120 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [589630465] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:30:18,120 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:30:18,120 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-27 13:30:18,120 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [57716535] [2022-04-27 13:30:18,120 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:30:18,120 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:30:18,121 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:30:18,121 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:18,150 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:18,151 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:30:18,151 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:30:18,151 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:30:18,151 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:18,151 INFO L87 Difference]: Start difference. First operand 102 states and 126 transitions. Second operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:18,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:18,332 INFO L93 Difference]: Finished difference Result 116 states and 141 transitions. [2022-04-27 13:30:18,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:30:18,332 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) Word has length 95 [2022-04-27 13:30:18,332 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:30:18,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:18,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:30:18,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:18,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2022-04-27 13:30:18,334 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2022-04-27 13:30:18,400 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:30:18,401 INFO L225 Difference]: With dead ends: 116 [2022-04-27 13:30:18,401 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 13:30:18,401 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 91 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:30:18,402 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:30:18,402 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [14 Valid, 121 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:30:18,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 13:30:18,454 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 104. [2022-04-27 13:30:18,454 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:30:18,454 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:18,454 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:18,454 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:18,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:18,456 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:30:18,456 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:18,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:18,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:18,457 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:30:18,457 INFO L87 Difference]: Start difference. First operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) Second operand 104 states. [2022-04-27 13:30:18,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:30:18,458 INFO L93 Difference]: Finished difference Result 104 states and 127 transitions. [2022-04-27 13:30:18,458 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:18,459 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:30:18,459 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:30:18,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:30:18,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:30:18,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 64 states have internal predecessors, (69), 30 states have call successors, (30), 13 states have call predecessors, (30), 12 states have return successors, (28), 26 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-27 13:30:18,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 127 transitions. [2022-04-27 13:30:18,461 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 127 transitions. Word has length 95 [2022-04-27 13:30:18,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:30:18,461 INFO L495 AbstractCegarLoop]: Abstraction has 104 states and 127 transitions. [2022-04-27 13:30:18,461 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.8) internal successors, (24), 5 states have internal predecessors, (24), 5 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 5 states have call predecessors, (16), 5 states have call successors, (16) [2022-04-27 13:30:18,461 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 127 transitions. [2022-04-27 13:30:18,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 106 [2022-04-27 13:30:18,462 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:30:18,462 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:30:18,480 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-27 13:30:18,675 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:18,675 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:30:18,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:30:18,676 INFO L85 PathProgramCache]: Analyzing trace with hash -367001023, now seen corresponding path program 3 times [2022-04-27 13:30:18,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:30:18,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [981661758] [2022-04-27 13:30:18,676 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:30:18,676 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:30:18,687 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:30:18,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1339755619] [2022-04-27 13:30:18,687 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 13:30:18,687 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:30:18,687 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:30:18,693 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:30:18,694 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-27 13:30:18,752 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 13:30:18,753 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:30:18,754 INFO L263 TraceCheckSpWp]: Trace formula consists of 194 conjuncts, 45 conjunts are in the unsatisfiable core [2022-04-27 13:30:18,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:30:18,772 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:30:20,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {8218#true} call ULTIMATE.init(); {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {8218#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8218#true} {8218#true} #101#return; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {8218#true} call #t~ret6 := main(); {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {8218#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {8218#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 7: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 8: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 9: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8218#true} {8218#true} #81#return; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L290 TraceCheckUtils]: 11: Hoare triple {8218#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8218#true} is VALID [2022-04-27 13:30:20,430 INFO L272 TraceCheckUtils]: 12: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8218#true} {8218#true} #83#return; {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L272 TraceCheckUtils]: 17: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:30:20,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {8218#true} ~cond := #in~cond; {8277#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:30:20,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {8277#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {8281#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:20,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {8281#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {8281#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:30:20,432 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8281#(not (= |assume_abort_if_not_#in~cond| 0))} {8218#true} #85#return; {8288#(<= 1 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:30:20,432 INFO L290 TraceCheckUtils]: 22: Hoare triple {8288#(<= 1 (mod main_~B~0 4294967296))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8292#(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:30:20,433 INFO L290 TraceCheckUtils]: 23: Hoare triple {8292#(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; {8292#(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:30:20,433 INFO L272 TraceCheckUtils]: 24: Hoare triple {8292#(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)); {8218#true} is VALID [2022-04-27 13:30:20,433 INFO L290 TraceCheckUtils]: 25: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,433 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8218#true} {8292#(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; {8292#(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:30:20,434 INFO L272 TraceCheckUtils]: 29: Hoare triple {8292#(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)); {8218#true} is VALID [2022-04-27 13:30:20,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,434 INFO L290 TraceCheckUtils]: 32: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,434 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8218#true} {8292#(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; {8292#(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:30:20,434 INFO L272 TraceCheckUtils]: 34: Hoare triple {8292#(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)); {8218#true} is VALID [2022-04-27 13:30:20,438 INFO L290 TraceCheckUtils]: 35: Hoare triple {8218#true} ~cond := #in~cond; {8332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:20,439 INFO L290 TraceCheckUtils]: 36: Hoare triple {8332#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:30:20,439 INFO L290 TraceCheckUtils]: 37: Hoare triple {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:30:20,439 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} {8292#(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; {8292#(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:30:20,440 INFO L290 TraceCheckUtils]: 39: Hoare triple {8292#(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; {8346#(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:30:20,441 INFO L290 TraceCheckUtils]: 40: Hoare triple {8346#(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; {8346#(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:30:20,441 INFO L272 TraceCheckUtils]: 41: Hoare triple {8346#(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)); {8218#true} is VALID [2022-04-27 13:30:20,441 INFO L290 TraceCheckUtils]: 42: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,441 INFO L290 TraceCheckUtils]: 43: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,441 INFO L290 TraceCheckUtils]: 44: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8218#true} {8346#(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; {8346#(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:30:20,442 INFO L272 TraceCheckUtils]: 46: Hoare triple {8346#(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)); {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 47: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 48: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 49: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8218#true} {8346#(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; {8346#(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:30:20,442 INFO L272 TraceCheckUtils]: 51: Hoare triple {8346#(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)); {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 52: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 53: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,442 INFO L290 TraceCheckUtils]: 54: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,443 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8218#true} {8346#(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; {8346#(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:30:20,444 INFO L290 TraceCheckUtils]: 56: Hoare triple {8346#(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; {8398#(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:30:20,444 INFO L290 TraceCheckUtils]: 57: Hoare triple {8398#(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; {8398#(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:30:20,444 INFO L272 TraceCheckUtils]: 58: Hoare triple {8398#(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)); {8218#true} is VALID [2022-04-27 13:30:20,444 INFO L290 TraceCheckUtils]: 59: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,444 INFO L290 TraceCheckUtils]: 60: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,444 INFO L290 TraceCheckUtils]: 61: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,445 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8218#true} {8398#(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; {8398#(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:30:20,445 INFO L272 TraceCheckUtils]: 63: Hoare triple {8398#(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)); {8218#true} is VALID [2022-04-27 13:30:20,445 INFO L290 TraceCheckUtils]: 64: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,445 INFO L290 TraceCheckUtils]: 65: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,445 INFO L290 TraceCheckUtils]: 66: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,446 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8218#true} {8398#(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; {8398#(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:30:20,446 INFO L272 TraceCheckUtils]: 68: Hoare triple {8398#(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)); {8218#true} is VALID [2022-04-27 13:30:20,446 INFO L290 TraceCheckUtils]: 69: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,446 INFO L290 TraceCheckUtils]: 70: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,446 INFO L290 TraceCheckUtils]: 71: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,446 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8218#true} {8398#(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; {8398#(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:30:20,447 INFO L290 TraceCheckUtils]: 73: Hoare triple {8398#(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); {8398#(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:30:20,447 INFO L290 TraceCheckUtils]: 74: Hoare triple {8398#(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; {8398#(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:30:20,447 INFO L272 TraceCheckUtils]: 75: Hoare triple {8398#(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)); {8218#true} is VALID [2022-04-27 13:30:20,447 INFO L290 TraceCheckUtils]: 76: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,447 INFO L290 TraceCheckUtils]: 77: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,447 INFO L290 TraceCheckUtils]: 78: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,448 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8218#true} {8398#(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; {8398#(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:30:20,448 INFO L272 TraceCheckUtils]: 80: Hoare triple {8398#(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)); {8218#true} is VALID [2022-04-27 13:30:20,448 INFO L290 TraceCheckUtils]: 81: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,448 INFO L290 TraceCheckUtils]: 82: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,448 INFO L290 TraceCheckUtils]: 83: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,449 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8218#true} {8398#(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; {8398#(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:30:20,450 INFO L290 TraceCheckUtils]: 85: Hoare triple {8398#(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); {8346#(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:30:20,455 INFO L290 TraceCheckUtils]: 86: Hoare triple {8346#(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; {8489#(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:30:20,456 INFO L290 TraceCheckUtils]: 87: Hoare triple {8489#(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; {8489#(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:30:20,456 INFO L272 TraceCheckUtils]: 88: Hoare triple {8489#(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)); {8218#true} is VALID [2022-04-27 13:30:20,456 INFO L290 TraceCheckUtils]: 89: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,456 INFO L290 TraceCheckUtils]: 90: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,456 INFO L290 TraceCheckUtils]: 91: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,456 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8218#true} {8489#(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; {8489#(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:30:20,456 INFO L272 TraceCheckUtils]: 93: Hoare triple {8489#(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)); {8218#true} is VALID [2022-04-27 13:30:20,457 INFO L290 TraceCheckUtils]: 94: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:30:20,457 INFO L290 TraceCheckUtils]: 95: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:30:20,457 INFO L290 TraceCheckUtils]: 96: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:30:20,457 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8218#true} {8489#(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; {8489#(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:30:20,458 INFO L290 TraceCheckUtils]: 98: Hoare triple {8489#(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); {8526#(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:30:20,459 INFO L290 TraceCheckUtils]: 99: Hoare triple {8526#(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; {8530#(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:30:20,459 INFO L290 TraceCheckUtils]: 100: Hoare triple {8530#(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; {8530#(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:30:20,460 INFO L272 TraceCheckUtils]: 101: Hoare triple {8530#(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)); {8537#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:30:20,460 INFO L290 TraceCheckUtils]: 102: Hoare triple {8537#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8541#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:30:20,460 INFO L290 TraceCheckUtils]: 103: Hoare triple {8541#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8219#false} is VALID [2022-04-27 13:30:20,460 INFO L290 TraceCheckUtils]: 104: Hoare triple {8219#false} assume !false; {8219#false} is VALID [2022-04-27 13:30:20,461 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 37 proven. 55 refuted. 0 times theorem prover too weak. 282 trivial. 0 not checked. [2022-04-27 13:30:20,461 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:31:51,744 INFO L290 TraceCheckUtils]: 104: Hoare triple {8219#false} assume !false; {8219#false} is VALID [2022-04-27 13:31:51,745 INFO L290 TraceCheckUtils]: 103: Hoare triple {8541#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8219#false} is VALID [2022-04-27 13:31:51,745 INFO L290 TraceCheckUtils]: 102: Hoare triple {8537#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8541#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:31:51,746 INFO L272 TraceCheckUtils]: 101: Hoare triple {8557#(= (+ 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)); {8537#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:31:51,746 INFO L290 TraceCheckUtils]: 100: Hoare triple {8557#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {8557#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:31:51,748 INFO L290 TraceCheckUtils]: 99: Hoare triple {8564#(= (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; {8557#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:31:51,759 INFO L290 TraceCheckUtils]: 98: Hoare triple {8568#(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); {8564#(= (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:31:51,760 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {8218#true} {8568#(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; {8568#(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:31:51,760 INFO L290 TraceCheckUtils]: 96: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L290 TraceCheckUtils]: 95: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L290 TraceCheckUtils]: 94: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L272 TraceCheckUtils]: 93: Hoare triple {8568#(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)); {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {8218#true} {8568#(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; {8568#(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:31:51,760 INFO L290 TraceCheckUtils]: 91: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L290 TraceCheckUtils]: 90: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:51,760 INFO L290 TraceCheckUtils]: 89: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:51,761 INFO L272 TraceCheckUtils]: 88: Hoare triple {8568#(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)); {8218#true} is VALID [2022-04-27 13:31:51,761 INFO L290 TraceCheckUtils]: 87: Hoare triple {8568#(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; {8568#(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:31:51,779 INFO L290 TraceCheckUtils]: 86: Hoare triple {8605#(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; {8568#(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:31:52,007 INFO L290 TraceCheckUtils]: 85: Hoare triple {8609#(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); {8605#(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:31:52,008 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {8218#true} {8609#(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; {8609#(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:31:52,008 INFO L290 TraceCheckUtils]: 83: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,008 INFO L290 TraceCheckUtils]: 82: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,008 INFO L290 TraceCheckUtils]: 81: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,009 INFO L272 TraceCheckUtils]: 80: Hoare triple {8609#(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)); {8218#true} is VALID [2022-04-27 13:31:52,009 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {8218#true} {8609#(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; {8609#(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:31:52,010 INFO L290 TraceCheckUtils]: 78: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,010 INFO L290 TraceCheckUtils]: 77: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,010 INFO L290 TraceCheckUtils]: 76: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,010 INFO L272 TraceCheckUtils]: 75: Hoare triple {8609#(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)); {8218#true} is VALID [2022-04-27 13:31:52,013 INFO L290 TraceCheckUtils]: 74: Hoare triple {8609#(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; {8609#(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:31:52,016 INFO L290 TraceCheckUtils]: 73: Hoare triple {8609#(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); {8609#(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:31:52,017 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8218#true} {8609#(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; {8609#(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:31:52,017 INFO L290 TraceCheckUtils]: 71: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,017 INFO L290 TraceCheckUtils]: 70: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,017 INFO L290 TraceCheckUtils]: 69: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,017 INFO L272 TraceCheckUtils]: 68: Hoare triple {8609#(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)); {8218#true} is VALID [2022-04-27 13:31:52,018 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8218#true} {8609#(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; {8609#(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:31:52,018 INFO L290 TraceCheckUtils]: 66: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,018 INFO L290 TraceCheckUtils]: 65: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,018 INFO L290 TraceCheckUtils]: 64: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,018 INFO L272 TraceCheckUtils]: 63: Hoare triple {8609#(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)); {8218#true} is VALID [2022-04-27 13:31:52,019 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {8218#true} {8609#(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; {8609#(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:31:52,019 INFO L290 TraceCheckUtils]: 61: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,019 INFO L290 TraceCheckUtils]: 60: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,019 INFO L290 TraceCheckUtils]: 59: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,019 INFO L272 TraceCheckUtils]: 58: Hoare triple {8609#(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)); {8218#true} is VALID [2022-04-27 13:31:52,022 INFO L290 TraceCheckUtils]: 57: Hoare triple {8609#(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; {8609#(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:31:52,131 INFO L290 TraceCheckUtils]: 56: Hoare triple {8605#(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; {8609#(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:31:52,132 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8218#true} {8605#(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; {8605#(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:31:52,132 INFO L290 TraceCheckUtils]: 54: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,132 INFO L290 TraceCheckUtils]: 53: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L290 TraceCheckUtils]: 52: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L272 TraceCheckUtils]: 51: Hoare triple {8605#(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)); {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8218#true} {8605#(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; {8605#(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:31:52,133 INFO L290 TraceCheckUtils]: 49: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L290 TraceCheckUtils]: 48: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L290 TraceCheckUtils]: 47: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,133 INFO L272 TraceCheckUtils]: 46: Hoare triple {8605#(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)); {8218#true} is VALID [2022-04-27 13:31:52,134 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8218#true} {8605#(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; {8605#(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:31:52,134 INFO L290 TraceCheckUtils]: 44: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,134 INFO L290 TraceCheckUtils]: 43: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,134 INFO L290 TraceCheckUtils]: 42: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,134 INFO L272 TraceCheckUtils]: 41: Hoare triple {8605#(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)); {8218#true} is VALID [2022-04-27 13:31:52,135 INFO L290 TraceCheckUtils]: 40: Hoare triple {8605#(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; {8605#(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:31:52,139 INFO L290 TraceCheckUtils]: 39: Hoare triple {8748#(= (+ (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; {8605#(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:31:52,140 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #91#return; {8748#(= (+ (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:31:52,140 INFO L290 TraceCheckUtils]: 37: Hoare triple {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:31:52,140 INFO L290 TraceCheckUtils]: 36: Hoare triple {8762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {8336#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:31:52,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {8218#true} ~cond := #in~cond; {8762#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:31:52,141 INFO L272 TraceCheckUtils]: 34: Hoare triple {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,141 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8218#true} {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #89#return; {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:31:52,141 INFO L290 TraceCheckUtils]: 32: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,141 INFO L272 TraceCheckUtils]: 29: Hoare triple {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,142 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8218#true} {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} #87#return; {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:31:52,142 INFO L290 TraceCheckUtils]: 27: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,142 INFO L290 TraceCheckUtils]: 26: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,142 INFO L290 TraceCheckUtils]: 25: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,142 INFO L272 TraceCheckUtils]: 24: Hoare triple {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,143 INFO L290 TraceCheckUtils]: 23: Hoare triple {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} assume !false; {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:31:52,144 INFO L290 TraceCheckUtils]: 22: Hoare triple {8218#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8752#(or (= (+ (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)))) (not (= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))))} is VALID [2022-04-27 13:31:52,144 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8218#true} {8218#true} #85#return; {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L290 TraceCheckUtils]: 20: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L290 TraceCheckUtils]: 19: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L290 TraceCheckUtils]: 18: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L272 TraceCheckUtils]: 17: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8218#true} {8218#true} #83#return; {8218#true} is VALID [2022-04-27 13:31:52,144 INFO L290 TraceCheckUtils]: 15: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 14: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 13: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L272 TraceCheckUtils]: 12: Hoare triple {8218#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 20 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 11: Hoare triple {8218#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8218#true} {8218#true} #81#return; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {8218#true} assume !(0 == ~cond); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {8218#true} ~cond := #in~cond; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L272 TraceCheckUtils]: 6: Hoare triple {8218#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 20 then 1 else 0)); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 5: Hoare triple {8218#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {8218#true} call #t~ret6 := main(); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8218#true} {8218#true} #101#return; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {8218#true} assume true; {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {8218#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {8218#true} is VALID [2022-04-27 13:31:52,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {8218#true} call ULTIMATE.init(); {8218#true} is VALID [2022-04-27 13:31:52,146 INFO L134 CoverageAnalysis]: Checked inductivity of 374 backedges. 31 proven. 55 refuted. 0 times theorem prover too weak. 288 trivial. 0 not checked. [2022-04-27 13:31:52,146 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:31:52,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [981661758] [2022-04-27 13:31:52,146 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:31:52,146 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1339755619] [2022-04-27 13:31:52,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1339755619] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:31:52,146 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:31:52,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-27 13:31:52,147 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1128257204] [2022-04-27 13:31:52,147 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:31:52,147 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 23 states have (on average 2.130434782608696) internal successors, (49), 20 states have internal predecessors, (49), 11 states have call successors, (33), 2 states have call predecessors, (33), 3 states have return successors, (31), 11 states have call predecessors, (31), 9 states have call successors, (31) Word has length 105 [2022-04-27 13:31:52,148 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:31:52,148 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 23 states have (on average 2.130434782608696) internal successors, (49), 20 states have internal predecessors, (49), 11 states have call successors, (33), 2 states have call predecessors, (33), 3 states have return successors, (31), 11 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:31:52,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:31:52,705 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-27 13:31:52,706 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:31:52,706 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-27 13:31:52,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=421, Unknown=0, NotChecked=0, Total=506 [2022-04-27 13:31:52,706 INFO L87 Difference]: Start difference. First operand 104 states and 127 transitions. Second operand has 23 states, 23 states have (on average 2.130434782608696) internal successors, (49), 20 states have internal predecessors, (49), 11 states have call successors, (33), 2 states have call predecessors, (33), 3 states have return successors, (31), 11 states have call predecessors, (31), 9 states have call successors, (31) [2022-04-27 13:33:20,464 WARN L232 SmtUtils]: Spent 1.37m 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:33:22,533 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:33:24,852 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:35:33,036 WARN L232 SmtUtils]: Spent 2.05m on a formula simplification. DAG size of input: 172 DAG size of output: 164 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:36:34,600 WARN L232 SmtUtils]: Spent 59.45s on a formula simplification. DAG size of input: 195 DAG size of output: 47 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:36:37,959 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:36:39,968 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:38:38,426 WARN L232 SmtUtils]: Spent 1.73m on a formula simplification. DAG size of input: 181 DAG size of output: 110 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:38:55,031 WARN L232 SmtUtils]: Spent 12.31s on a formula simplification. DAG size of input: 85 DAG size of output: 29 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:39:15,403 WARN L232 SmtUtils]: Spent 16.99s on a formula simplification. DAG size of input: 84 DAG size of output: 27 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-27 13:39:24,341 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:39:28,926 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-27 13:39:41,227 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 []