/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_valuebound1.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 13:22:30,276 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 13:22:30,277 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 13:22:30,299 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 13:22:30,300 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 13:22:30,300 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 13:22:30,301 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 13:22:30,302 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 13:22:30,306 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 13:22:30,309 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 13:22:30,310 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 13:22:30,311 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 13:22:30,311 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 13:22:30,313 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 13:22:30,314 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 13:22:30,315 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 13:22:30,316 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 13:22:30,316 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 13:22:30,332 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 13:22:30,333 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 13:22:30,334 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 13:22:30,335 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 13:22:30,336 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 13:22:30,336 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 13:22:30,337 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 13:22:30,344 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 13:22:30,344 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 13:22:30,344 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 13:22:30,345 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 13:22:30,345 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 13:22:30,346 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 13:22:30,346 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 13:22:30,347 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 13:22:30,347 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 13:22:30,348 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 13:22:30,348 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 13:22:30,349 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 13:22:30,349 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 13:22:30,349 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 13:22:30,349 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 13:22:30,350 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 13:22:30,351 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 13:22:30,351 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 13:22:30,378 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 13:22:30,378 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 13:22:30,378 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 13:22:30,378 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 13:22:30,379 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 13:22:30,379 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 13:22:30,379 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 13:22:30,379 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 13:22:30,379 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 13:22:30,380 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 13:22:30,380 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 13:22:30,380 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 13:22:30,380 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 13:22:30,380 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 13:22:30,380 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 13:22:30,381 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 13:22:30,381 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 13:22:30,381 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 13:22:30,381 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 13:22:30,382 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:30,382 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 13:22:30,382 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 13:22:30,383 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 13:22:30,383 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 13:22:30,383 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 13:22:30,383 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 13:22:30,518 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 13:22:30,537 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 13:22:30,538 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 13:22:30,539 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 13:22:30,540 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 13:22:30,540 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-27 13:22:30,580 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55274ec3b/5996fd893eb340c6b3b00debc03f8b33/FLAG95248405d [2022-04-27 13:22:30,946 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 13:22:30,946 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/hard-ll_valuebound1.c [2022-04-27 13:22:30,949 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55274ec3b/5996fd893eb340c6b3b00debc03f8b33/FLAG95248405d [2022-04-27 13:22:30,957 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/55274ec3b/5996fd893eb340c6b3b00debc03f8b33 [2022-04-27 13:22:30,959 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 13:22:30,960 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 13:22:30,963 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:30,963 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 13:22:30,976 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 13:22:30,977 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:30" (1/1) ... [2022-04-27 13:22:30,977 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2b847cf5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:30, skipping insertion in model container [2022-04-27 13:22:30,977 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 01:22:30" (1/1) ... [2022-04-27 13:22:30,983 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 13:22:30,994 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 13:22:31,105 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_valuebound1.c[538,551] [2022-04-27 13:22:31,117 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:31,136 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 13:22:31,143 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_valuebound1.c[538,551] [2022-04-27 13:22:31,148 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 13:22:31,156 INFO L208 MainTranslator]: Completed translation [2022-04-27 13:22:31,156 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31 WrapperNode [2022-04-27 13:22:31,156 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 13:22:31,157 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 13:22:31,157 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 13:22:31,157 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 13:22:31,163 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,163 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,167 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,167 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,171 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,179 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,186 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,188 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 13:22:31,188 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 13:22:31,188 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 13:22:31,189 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 13:22:31,191 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (1/1) ... [2022-04-27 13:22:31,196 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 13:22:31,202 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:31,215 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-27 13:22:31,225 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-27 13:22:31,247 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 13:22:31,247 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 13:22:31,247 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 13:22:31,248 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-27 13:22:31,248 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 13:22:31,248 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-27 13:22:31,248 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 13:22:31,249 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 13:22:31,296 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 13:22:31,297 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 13:22:31,444 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 13:22:31,449 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 13:22:31,449 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-27 13:22:31,450 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:31 BoogieIcfgContainer [2022-04-27 13:22:31,450 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 13:22:31,451 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 13:22:31,452 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 13:22:31,458 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 13:22:31,458 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 01:22:30" (1/3) ... [2022-04-27 13:22:31,458 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d97b447 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:31, skipping insertion in model container [2022-04-27 13:22:31,458 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 01:22:31" (2/3) ... [2022-04-27 13:22:31,459 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d97b447 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 01:22:31, skipping insertion in model container [2022-04-27 13:22:31,459 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 01:22:31" (3/3) ... [2022-04-27 13:22:31,459 INFO L111 eAbstractionObserver]: Analyzing ICFG hard-ll_valuebound1.c [2022-04-27 13:22:31,468 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 13:22:31,468 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 13:22:31,496 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 13:22:31,500 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@5180f04e, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@2dd725d7 [2022-04-27 13:22:31,500 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 13:22:31,505 INFO L276 IsEmpty]: Start isEmpty. Operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-27 13:22:31,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:31,510 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:31,511 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:31,511 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:31,514 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:31,514 INFO L85 PathProgramCache]: Analyzing trace with hash -1784424332, now seen corresponding path program 1 times [2022-04-27 13:22:31,520 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:31,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1813881233] [2022-04-27 13:22:31,520 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:31,521 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:31,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:31,635 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:31,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:31,655 INFO L290 TraceCheckUtils]: 0: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:22:31,655 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:22:31,655 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:22:31,656 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:31,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:31,666 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,667 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:22:31,668 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:31,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:31,674 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,674 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,675 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,675 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:22:31,675 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:31,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:31,681 INFO L290 TraceCheckUtils]: 0: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,682 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:22:31,682 INFO L272 TraceCheckUtils]: 0: Hoare triple {41#true} call ULTIMATE.init(); {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:31,683 INFO L290 TraceCheckUtils]: 1: Hoare triple {58#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {41#true} is VALID [2022-04-27 13:22:31,683 INFO L290 TraceCheckUtils]: 2: Hoare triple {41#true} assume true; {41#true} is VALID [2022-04-27 13:22:31,683 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {41#true} {41#true} #101#return; {41#true} is VALID [2022-04-27 13:22:31,683 INFO L272 TraceCheckUtils]: 4: Hoare triple {41#true} call #t~ret6 := main(); {41#true} is VALID [2022-04-27 13:22:31,683 INFO L290 TraceCheckUtils]: 5: Hoare triple {41#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {41#true} is VALID [2022-04-27 13:22:31,683 INFO L272 TraceCheckUtils]: 6: Hoare triple {41#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:22:31,683 INFO L290 TraceCheckUtils]: 7: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,684 INFO L290 TraceCheckUtils]: 8: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,684 INFO L290 TraceCheckUtils]: 9: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,684 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {42#false} {41#true} #81#return; {42#false} is VALID [2022-04-27 13:22:31,684 INFO L290 TraceCheckUtils]: 11: Hoare triple {42#false} ~B~0 := #t~nondet5;havoc #t~nondet5; {42#false} is VALID [2022-04-27 13:22:31,684 INFO L272 TraceCheckUtils]: 12: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:22:31,685 INFO L290 TraceCheckUtils]: 13: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,685 INFO L290 TraceCheckUtils]: 14: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,685 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {42#false} {42#false} #83#return; {42#false} is VALID [2022-04-27 13:22:31,685 INFO L272 TraceCheckUtils]: 17: Hoare triple {42#false} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {41#true} is VALID [2022-04-27 13:22:31,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {41#true} ~cond := #in~cond; {41#true} is VALID [2022-04-27 13:22:31,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {41#true} assume 0 == ~cond;assume false; {42#false} is VALID [2022-04-27 13:22:31,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {42#false} assume true; {42#false} is VALID [2022-04-27 13:22:31,686 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {42#false} {42#false} #85#return; {42#false} is VALID [2022-04-27 13:22:31,686 INFO L290 TraceCheckUtils]: 22: Hoare triple {42#false} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {42#false} is VALID [2022-04-27 13:22:31,687 INFO L290 TraceCheckUtils]: 23: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:22:31,687 INFO L272 TraceCheckUtils]: 24: Hoare triple {42#false} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {42#false} is VALID [2022-04-27 13:22:31,687 INFO L290 TraceCheckUtils]: 25: Hoare triple {42#false} ~cond := #in~cond; {42#false} is VALID [2022-04-27 13:22:31,687 INFO L290 TraceCheckUtils]: 26: Hoare triple {42#false} assume 0 == ~cond; {42#false} is VALID [2022-04-27 13:22:31,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {42#false} assume !false; {42#false} is VALID [2022-04-27 13:22:31,688 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:31,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:31,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1813881233] [2022-04-27 13:22:31,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1813881233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:31,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:31,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 13:22:31,690 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1440889379] [2022-04-27 13:22:31,690 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:31,694 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:31,695 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:31,697 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:31,719 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:31,719 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 13:22:31,720 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:31,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 13:22:31,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:31,739 INFO L87 Difference]: Start difference. First operand has 38 states, 20 states have (on average 1.5) internal successors, (30), 21 states have internal predecessors, (30), 12 states have call successors, (12), 4 states have call predecessors, (12), 4 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:31,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:31,907 INFO L93 Difference]: Finished difference Result 69 states and 110 transitions. [2022-04-27 13:22:31,907 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 13:22:31,907 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-27 13:22:31,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:31,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:31,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:22:31,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:31,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 110 transitions. [2022-04-27 13:22:31,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 110 transitions. [2022-04-27 13:22:32,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:32,066 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:22:32,066 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 13:22:32,068 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 13:22:32,071 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 21 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 12 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 41 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 12 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:32,071 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [31 Valid, 41 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 12 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:32,081 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 13:22:32,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 33. [2022-04-27 13:22:32,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:32,091 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,091 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,092 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:32,099 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:32,099 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:32,100 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:32,100 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:32,101 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:22:32,101 INFO L87 Difference]: Start difference. First operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 33 states. [2022-04-27 13:22:32,107 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:32,107 INFO L93 Difference]: Finished difference Result 33 states and 43 transitions. [2022-04-27 13:22:32,107 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:32,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:32,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:32,108 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:32,108 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:32,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 12 states have call successors, (12), 4 states have call predecessors, (12), 3 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 43 transitions. [2022-04-27 13:22:32,111 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 43 transitions. Word has length 28 [2022-04-27 13:22:32,112 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:32,112 INFO L495 AbstractCegarLoop]: Abstraction has 33 states and 43 transitions. [2022-04-27 13:22:32,113 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 2 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-27 13:22:32,113 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 43 transitions. [2022-04-27 13:22:32,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 13:22:32,114 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:32,115 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:32,115 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 13:22:32,115 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:32,115 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:32,115 INFO L85 PathProgramCache]: Analyzing trace with hash 1361835634, now seen corresponding path program 1 times [2022-04-27 13:22:32,116 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:32,116 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1914137686] [2022-04-27 13:22:32,116 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:32,116 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:32,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,209 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:32,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:22:32,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,225 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:22:32,225 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:32,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,249 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:22:32,249 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:32,250 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:22:32,266 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:32,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,272 INFO L290 TraceCheckUtils]: 0: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:22:32,273 INFO L272 TraceCheckUtils]: 0: Hoare triple {275#true} call ULTIMATE.init(); {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:32,273 INFO L290 TraceCheckUtils]: 1: Hoare triple {295#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {275#true} is VALID [2022-04-27 13:22:32,273 INFO L290 TraceCheckUtils]: 2: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,273 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {275#true} {275#true} #101#return; {275#true} is VALID [2022-04-27 13:22:32,273 INFO L272 TraceCheckUtils]: 4: Hoare triple {275#true} call #t~ret6 := main(); {275#true} is VALID [2022-04-27 13:22:32,273 INFO L290 TraceCheckUtils]: 5: Hoare triple {275#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {275#true} is VALID [2022-04-27 13:22:32,273 INFO L272 TraceCheckUtils]: 6: Hoare triple {275#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 7: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 8: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 9: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,274 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {275#true} {275#true} #81#return; {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 11: Hoare triple {275#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {275#true} is VALID [2022-04-27 13:22:32,274 INFO L272 TraceCheckUtils]: 12: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,275 INFO L290 TraceCheckUtils]: 15: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,275 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {275#true} {275#true} #83#return; {275#true} is VALID [2022-04-27 13:22:32,275 INFO L272 TraceCheckUtils]: 17: Hoare triple {275#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {275#true} is VALID [2022-04-27 13:22:32,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {275#true} ~cond := #in~cond; {275#true} is VALID [2022-04-27 13:22:32,275 INFO L290 TraceCheckUtils]: 19: Hoare triple {275#true} assume !(0 == ~cond); {275#true} is VALID [2022-04-27 13:22:32,275 INFO L290 TraceCheckUtils]: 20: Hoare triple {275#true} assume true; {275#true} is VALID [2022-04-27 13:22:32,275 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {275#true} {275#true} #85#return; {275#true} is VALID [2022-04-27 13:22:32,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {275#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:22:32,278 INFO L290 TraceCheckUtils]: 23: Hoare triple {292#(= main_~q~0 0)} assume !false; {292#(= main_~q~0 0)} is VALID [2022-04-27 13:22:32,278 INFO L272 TraceCheckUtils]: 24: Hoare triple {292#(= main_~q~0 0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {293#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:32,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {293#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {294#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:32,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {294#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {276#false} is VALID [2022-04-27 13:22:32,279 INFO L290 TraceCheckUtils]: 27: Hoare triple {276#false} assume !false; {276#false} is VALID [2022-04-27 13:22:32,280 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:32,280 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:32,280 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1914137686] [2022-04-27 13:22:32,280 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1914137686] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:32,280 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:32,280 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:32,280 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [852388254] [2022-04-27 13:22:32,280 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:32,281 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:22:32,282 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:32,282 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:22:32,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:32,299 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:32,299 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:32,299 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:32,299 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:32,299 INFO L87 Difference]: Start difference. First operand 33 states and 43 transitions. Second operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:22:32,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:32,680 INFO L93 Difference]: Finished difference Result 46 states and 60 transitions. [2022-04-27 13:22:32,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:22:32,680 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) Word has length 28 [2022-04-27 13:22:32,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:32,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:22:32,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:32,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:22:32,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:32,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:22:32,730 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:32,732 INFO L225 Difference]: With dead ends: 46 [2022-04-27 13:22:32,732 INFO L226 Difference]: Without dead ends: 44 [2022-04-27 13:22:32,732 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:32,733 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:22:32,733 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [44 Valid, 48 Invalid, 155 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 126 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:22:32,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-27 13:22:32,738 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-27 13:22:32,738 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:32,738 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,738 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,739 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:32,741 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:22:32,741 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:22:32,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:32,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:32,742 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:22:32,742 INFO L87 Difference]: Start difference. First operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 44 states. [2022-04-27 13:22:32,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:32,744 INFO L93 Difference]: Finished difference Result 44 states and 58 transitions. [2022-04-27 13:22:32,744 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 58 transitions. [2022-04-27 13:22:32,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:32,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:32,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:32,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:32,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 12 states have call successors, (12), 5 states have call predecessors, (12), 4 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:32,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 46 transitions. [2022-04-27 13:22:32,747 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 46 transitions. Word has length 28 [2022-04-27 13:22:32,747 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:32,747 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 46 transitions. [2022-04-27 13:22:32,747 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.0) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (4), 1 states have call predecessors, (4), 1 states have call successors, (4) [2022-04-27 13:22:32,747 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 46 transitions. [2022-04-27 13:22:32,747 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 13:22:32,748 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:32,748 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:32,748 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 13:22:32,748 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:32,748 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:32,748 INFO L85 PathProgramCache]: Analyzing trace with hash 1382067636, now seen corresponding path program 1 times [2022-04-27 13:22:32,748 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:32,748 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1753372280] [2022-04-27 13:22:32,749 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:32,749 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:32,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,808 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 13:22:32,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:22:32,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,813 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:22:32,813 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-27 13:22:32,814 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,817 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:22:32,817 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-27 13:22:32,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:22:32,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-27 13:22:32,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,825 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:22:32,825 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 24 [2022-04-27 13:22:32,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:32,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:32,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {517#true} call ULTIMATE.init(); {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 13:22:32,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {517#true} is VALID [2022-04-27 13:22:32,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {517#true} {517#true} #101#return; {517#true} is VALID [2022-04-27 13:22:32,835 INFO L272 TraceCheckUtils]: 4: Hoare triple {517#true} call #t~ret6 := main(); {517#true} is VALID [2022-04-27 13:22:32,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {517#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {517#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 8: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {517#true} {517#true} #81#return; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {517#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L272 TraceCheckUtils]: 12: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 13: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,837 INFO L290 TraceCheckUtils]: 15: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,837 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {517#true} {517#true} #83#return; {517#true} is VALID [2022-04-27 13:22:32,837 INFO L272 TraceCheckUtils]: 17: Hoare triple {517#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:32,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,837 INFO L290 TraceCheckUtils]: 19: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,837 INFO L290 TraceCheckUtils]: 20: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,837 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {517#true} {517#true} #85#return; {517#true} is VALID [2022-04-27 13:22:32,838 INFO L290 TraceCheckUtils]: 22: Hoare triple {517#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:32,838 INFO L290 TraceCheckUtils]: 23: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} assume !false; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:32,838 INFO L272 TraceCheckUtils]: 24: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {517#true} is VALID [2022-04-27 13:22:32,839 INFO L290 TraceCheckUtils]: 25: Hoare triple {517#true} ~cond := #in~cond; {517#true} is VALID [2022-04-27 13:22:32,839 INFO L290 TraceCheckUtils]: 26: Hoare triple {517#true} assume !(0 == ~cond); {517#true} is VALID [2022-04-27 13:22:32,839 INFO L290 TraceCheckUtils]: 27: Hoare triple {517#true} assume true; {517#true} is VALID [2022-04-27 13:22:32,839 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {517#true} {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} #87#return; {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} is VALID [2022-04-27 13:22:32,840 INFO L272 TraceCheckUtils]: 29: Hoare triple {534#(= main_~A~0 (+ main_~r~0 (* (div main_~A~0 4294967296) 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {539#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 13:22:32,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {539#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {540#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 13:22:32,841 INFO L290 TraceCheckUtils]: 31: Hoare triple {540#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {518#false} is VALID [2022-04-27 13:22:32,841 INFO L290 TraceCheckUtils]: 32: Hoare triple {518#false} assume !false; {518#false} is VALID [2022-04-27 13:22:32,841 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-27 13:22:32,841 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:32,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1753372280] [2022-04-27 13:22:32,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1753372280] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:32,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:32,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 13:22:32,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [79669038] [2022-04-27 13:22:32,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:32,842 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:22:32,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:32,842 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:32,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:32,858 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 13:22:32,858 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:32,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 13:22:32,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-27 13:22:32,859 INFO L87 Difference]: Start difference. First operand 37 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:33,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:33,264 INFO L93 Difference]: Finished difference Result 50 states and 63 transitions. [2022-04-27 13:22:33,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 13:22:33,265 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-27 13:22:33,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:33,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:33,266 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:33,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:33,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-04-27 13:22:33,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-04-27 13:22:33,321 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:33,324 INFO L225 Difference]: With dead ends: 50 [2022-04-27 13:22:33,324 INFO L226 Difference]: Without dead ends: 48 [2022-04-27 13:22:33,325 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 11 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=28, Invalid=62, Unknown=0, NotChecked=0, Total=90 [2022-04-27 13:22:33,328 INFO L413 NwaCegarLoop]: 31 mSDtfsCounter, 33 mSDsluCounter, 17 mSDsCounter, 0 mSdLazyCounter, 132 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 48 SdHoareTripleChecker+Invalid, 160 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 132 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:33,329 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [39 Valid, 48 Invalid, 160 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 132 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-27 13:22:33,329 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-27 13:22:33,334 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 41. [2022-04-27 13:22:33,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:33,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:33,334 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:33,335 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:33,337 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:33,337 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:22:33,337 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:22:33,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:33,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:33,338 INFO L74 IsIncluded]: Start isIncluded. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:22:33,338 INFO L87 Difference]: Start difference. First operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) Second operand 48 states. [2022-04-27 13:22:33,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:33,340 INFO L93 Difference]: Finished difference Result 48 states and 61 transitions. [2022-04-27 13:22:33,340 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 61 transitions. [2022-04-27 13:22:33,341 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:33,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:33,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:33,341 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:33,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 41 states, 23 states have (on average 1.173913043478261) internal successors, (27), 24 states have internal predecessors, (27), 12 states have call successors, (12), 6 states have call predecessors, (12), 5 states have return successors, (10), 10 states have call predecessors, (10), 10 states have call successors, (10) [2022-04-27 13:22:33,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2022-04-27 13:22:33,343 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 33 [2022-04-27 13:22:33,343 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:33,343 INFO L495 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2022-04-27 13:22:33,343 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.5) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 3 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-27 13:22:33,343 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2022-04-27 13:22:33,344 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-27 13:22:33,344 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:33,344 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:33,344 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-27 13:22:33,344 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:33,344 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:33,344 INFO L85 PathProgramCache]: Analyzing trace with hash -1455208590, now seen corresponding path program 1 times [2022-04-27 13:22:33,345 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:33,345 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092095790] [2022-04-27 13:22:33,345 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:33,345 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:33,356 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:33,357 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1403121707] [2022-04-27 13:22:33,357 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:33,357 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:33,357 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:33,358 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:33,369 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-27 13:22:33,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:33,405 INFO L263 TraceCheckSpWp]: Trace formula consists of 106 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-27 13:22:33,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:33,417 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:34,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {781#true} call ULTIMATE.init(); {781#true} is VALID [2022-04-27 13:22:34,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {781#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {781#true} is VALID [2022-04-27 13:22:34,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:34,380 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {781#true} {781#true} #101#return; {781#true} is VALID [2022-04-27 13:22:34,380 INFO L272 TraceCheckUtils]: 4: Hoare triple {781#true} call #t~ret6 := main(); {781#true} is VALID [2022-04-27 13:22:34,380 INFO L290 TraceCheckUtils]: 5: Hoare triple {781#true} havoc ~A~0;havoc ~B~0;havoc ~r~0;havoc ~d~0;havoc ~p~0;havoc ~q~0;~A~0 := #t~nondet4;havoc #t~nondet4; {781#true} is VALID [2022-04-27 13:22:34,381 INFO L272 TraceCheckUtils]: 6: Hoare triple {781#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:34,381 INFO L290 TraceCheckUtils]: 7: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:34,381 INFO L290 TraceCheckUtils]: 8: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:34,381 INFO L290 TraceCheckUtils]: 9: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:34,381 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {781#true} {781#true} #81#return; {781#true} is VALID [2022-04-27 13:22:34,381 INFO L290 TraceCheckUtils]: 11: Hoare triple {781#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {781#true} is VALID [2022-04-27 13:22:34,381 INFO L272 TraceCheckUtils]: 12: Hoare triple {781#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:34,382 INFO L290 TraceCheckUtils]: 13: Hoare triple {781#true} ~cond := #in~cond; {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:34,382 INFO L290 TraceCheckUtils]: 14: Hoare triple {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:34,382 INFO L290 TraceCheckUtils]: 15: Hoare triple {829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:34,383 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {829#(not (= |assume_abort_if_not_#in~cond| 0))} {781#true} #83#return; {836#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:34,383 INFO L272 TraceCheckUtils]: 17: Hoare triple {836#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:34,384 INFO L290 TraceCheckUtils]: 18: Hoare triple {781#true} ~cond := #in~cond; {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:34,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:34,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:34,385 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {829#(not (= |assume_abort_if_not_#in~cond| 0))} {836#(<= (mod main_~B~0 4294967296) 1)} #85#return; {852#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:34,385 INFO L290 TraceCheckUtils]: 22: Hoare triple {852#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:34,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:34,386 INFO L272 TraceCheckUtils]: 24: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:34,386 INFO L290 TraceCheckUtils]: 25: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:34,386 INFO L290 TraceCheckUtils]: 26: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:34,386 INFO L290 TraceCheckUtils]: 27: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:34,387 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {781#true} {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:34,387 INFO L272 TraceCheckUtils]: 29: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {781#true} is VALID [2022-04-27 13:22:34,387 INFO L290 TraceCheckUtils]: 30: Hoare triple {781#true} ~cond := #in~cond; {781#true} is VALID [2022-04-27 13:22:34,387 INFO L290 TraceCheckUtils]: 31: Hoare triple {781#true} assume !(0 == ~cond); {781#true} is VALID [2022-04-27 13:22:34,393 INFO L290 TraceCheckUtils]: 32: Hoare triple {781#true} assume true; {781#true} is VALID [2022-04-27 13:22:34,394 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {781#true} {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:34,395 INFO L272 TraceCheckUtils]: 34: Hoare triple {856#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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)); {893#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:34,396 INFO L290 TraceCheckUtils]: 35: Hoare triple {893#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {897#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:34,396 INFO L290 TraceCheckUtils]: 36: Hoare triple {897#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {782#false} is VALID [2022-04-27 13:22:34,396 INFO L290 TraceCheckUtils]: 37: Hoare triple {782#false} assume !false; {782#false} is VALID [2022-04-27 13:22:34,397 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2022-04-27 13:22:34,397 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:34,397 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:34,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2092095790] [2022-04-27 13:22:34,397 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:34,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1403121707] [2022-04-27 13:22:34,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1403121707] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:34,397 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:34,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-27 13:22:34,399 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1704429552] [2022-04-27 13:22:34,399 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:34,400 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-27 13:22:34,401 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:34,402 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:22:34,422 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:34,422 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-27 13:22:34,423 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:34,424 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-27 13:22:34,424 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2022-04-27 13:22:34,424 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:22:34,809 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:34,810 INFO L93 Difference]: Finished difference Result 69 states and 89 transitions. [2022-04-27 13:22:34,810 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:22:34,810 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 38 [2022-04-27 13:22:34,810 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:34,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:22:34,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-27 13:22:34,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:22:34,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2022-04-27 13:22:34,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2022-04-27 13:22:34,878 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:34,879 INFO L225 Difference]: With dead ends: 69 [2022-04-27 13:22:34,879 INFO L226 Difference]: Without dead ends: 55 [2022-04-27 13:22:34,880 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:34,880 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 36 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 23 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 178 SdHoareTripleChecker+Invalid, 139 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 23 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:34,880 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 178 Invalid, 139 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [23 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:22:34,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-04-27 13:22:34,901 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 55. [2022-04-27 13:22:34,901 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:34,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:34,902 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:34,902 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:34,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:34,904 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:22:34,904 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:34,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:34,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:34,905 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:22:34,905 INFO L87 Difference]: Start difference. First operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 55 states. [2022-04-27 13:22:34,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:34,907 INFO L93 Difference]: Finished difference Result 55 states and 68 transitions. [2022-04-27 13:22:34,907 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:34,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:34,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:34,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:34,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:34,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 30 states have (on average 1.1666666666666667) internal successors, (35), 32 states have internal predecessors, (35), 18 states have call successors, (18), 7 states have call predecessors, (18), 6 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:34,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 68 transitions. [2022-04-27 13:22:34,910 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 68 transitions. Word has length 38 [2022-04-27 13:22:34,910 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:34,910 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 68 transitions. [2022-04-27 13:22:34,910 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.25) internal successors, (18), 6 states have internal predecessors, (18), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-27 13:22:34,910 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 68 transitions. [2022-04-27 13:22:34,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-27 13:22:34,911 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:34,911 INFO L195 NwaCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:34,933 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:35,127 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:35,127 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:35,128 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:35,128 INFO L85 PathProgramCache]: Analyzing trace with hash -1688067263, now seen corresponding path program 1 times [2022-04-27 13:22:35,128 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:35,128 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1400669821] [2022-04-27 13:22:35,128 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:35,128 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:35,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:35,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [452445007] [2022-04-27 13:22:35,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:35,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:35,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:35,152 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:35,155 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-27 13:22:35,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:35,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:22:35,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:35,202 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:36,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {1201#true} call ULTIMATE.init(); {1201#true} is VALID [2022-04-27 13:22:36,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {1201#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); {1201#true} is VALID [2022-04-27 13:22:36,594 INFO L290 TraceCheckUtils]: 2: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1201#true} {1201#true} #101#return; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {1201#true} call #t~ret6 := main(); {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {1201#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; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {1201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1201#true} {1201#true} #81#return; {1201#true} is VALID [2022-04-27 13:22:36,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {1201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1201#true} is VALID [2022-04-27 13:22:36,596 INFO L272 TraceCheckUtils]: 12: Hoare triple {1201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {1201#true} ~cond := #in~cond; {1245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:36,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {1245#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:36,599 INFO L290 TraceCheckUtils]: 15: Hoare triple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:36,600 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} {1201#true} #83#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:36,600 INFO L272 TraceCheckUtils]: 17: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,600 INFO L290 TraceCheckUtils]: 18: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:36,600 INFO L290 TraceCheckUtils]: 19: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:36,600 INFO L290 TraceCheckUtils]: 20: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,601 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1201#true} {1256#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:36,601 INFO L290 TraceCheckUtils]: 22: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,602 INFO L290 TraceCheckUtils]: 23: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,602 INFO L272 TraceCheckUtils]: 24: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,602 INFO L290 TraceCheckUtils]: 25: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:36,602 INFO L290 TraceCheckUtils]: 26: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:36,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,602 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #87#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,603 INFO L272 TraceCheckUtils]: 29: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,603 INFO L290 TraceCheckUtils]: 30: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:36,603 INFO L290 TraceCheckUtils]: 31: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:36,603 INFO L290 TraceCheckUtils]: 32: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,603 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #89#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,603 INFO L272 TraceCheckUtils]: 34: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:36,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:36,604 INFO L290 TraceCheckUtils]: 36: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:36,604 INFO L290 TraceCheckUtils]: 37: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:36,604 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1201#true} {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} #91#return; {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,605 INFO L290 TraceCheckUtils]: 39: Hoare triple {1275#(and (<= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,605 INFO L290 TraceCheckUtils]: 40: Hoare triple {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} assume !false; {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:36,606 INFO L272 TraceCheckUtils]: 41: Hoare triple {1327#(and (< main_~r~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~A~0 4294967296) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:36,607 INFO L290 TraceCheckUtils]: 42: Hoare triple {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1338#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:36,607 INFO L290 TraceCheckUtils]: 43: Hoare triple {1338#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1202#false} is VALID [2022-04-27 13:22:36,607 INFO L290 TraceCheckUtils]: 44: Hoare triple {1202#false} assume !false; {1202#false} is VALID [2022-04-27 13:22:36,607 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 13:22:36,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:37,384 INFO L290 TraceCheckUtils]: 44: Hoare triple {1202#false} assume !false; {1202#false} is VALID [2022-04-27 13:22:37,385 INFO L290 TraceCheckUtils]: 43: Hoare triple {1338#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1202#false} is VALID [2022-04-27 13:22:37,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1338#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:37,386 INFO L272 TraceCheckUtils]: 41: Hoare triple {1354#(= (+ 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)); {1334#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:37,386 INFO L290 TraceCheckUtils]: 40: Hoare triple {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:37,387 INFO L290 TraceCheckUtils]: 39: Hoare triple {1361#(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); {1354#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:37,387 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1201#true} {1361#(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; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:37,388 INFO L290 TraceCheckUtils]: 37: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,388 INFO L290 TraceCheckUtils]: 36: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:37,388 INFO L290 TraceCheckUtils]: 35: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:37,388 INFO L272 TraceCheckUtils]: 34: Hoare triple {1361#(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)); {1201#true} is VALID [2022-04-27 13:22:37,388 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1201#true} {1361#(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; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:37,389 INFO L290 TraceCheckUtils]: 32: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,389 INFO L290 TraceCheckUtils]: 31: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:37,389 INFO L290 TraceCheckUtils]: 30: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:37,389 INFO L272 TraceCheckUtils]: 29: Hoare triple {1361#(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)); {1201#true} is VALID [2022-04-27 13:22:37,389 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1201#true} {1361#(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; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:37,389 INFO L290 TraceCheckUtils]: 27: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,390 INFO L290 TraceCheckUtils]: 26: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:37,390 INFO L290 TraceCheckUtils]: 25: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:37,390 INFO L272 TraceCheckUtils]: 24: Hoare triple {1361#(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)); {1201#true} is VALID [2022-04-27 13:22:37,390 INFO L290 TraceCheckUtils]: 23: Hoare triple {1361#(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; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:37,391 INFO L290 TraceCheckUtils]: 22: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1361#(or (= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296)) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:37,391 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1201#true} {1256#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:37,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,391 INFO L290 TraceCheckUtils]: 19: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:37,391 INFO L290 TraceCheckUtils]: 18: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:37,391 INFO L272 TraceCheckUtils]: 17: Hoare triple {1256#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:37,392 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} {1201#true} #83#return; {1256#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:37,392 INFO L290 TraceCheckUtils]: 15: Hoare triple {1249#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 14: Hoare triple {1440#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1249#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 13: Hoare triple {1201#true} ~cond := #in~cond; {1440#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:22:37,393 INFO L272 TraceCheckUtils]: 12: Hoare triple {1201#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 11: Hoare triple {1201#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1201#true} is VALID [2022-04-27 13:22:37,393 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1201#true} {1201#true} #81#return; {1201#true} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 9: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {1201#true} assume !(0 == ~cond); {1201#true} is VALID [2022-04-27 13:22:37,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {1201#true} ~cond := #in~cond; {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {1201#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {1201#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; {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {1201#true} call #t~ret6 := main(); {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1201#true} {1201#true} #101#return; {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {1201#true} assume true; {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {1201#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); {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {1201#true} call ULTIMATE.init(); {1201#true} is VALID [2022-04-27 13:22:37,394 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 9 proven. 3 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-27 13:22:37,394 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:37,394 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1400669821] [2022-04-27 13:22:37,394 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:37,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [452445007] [2022-04-27 13:22:37,395 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [452445007] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:37,395 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:37,395 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 12 [2022-04-27 13:22:37,395 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620120087] [2022-04-27 13:22:37,395 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:37,395 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 45 [2022-04-27 13:22:37,396 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:37,396 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:22:37,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:37,433 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:22:37,433 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:37,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:22:37,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:22:37,434 INFO L87 Difference]: Start difference. First operand 55 states and 68 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:22:38,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,215 INFO L93 Difference]: Finished difference Result 76 states and 91 transitions. [2022-04-27 13:22:38,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 13:22:38,215 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 45 [2022-04-27 13:22:38,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:38,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:22:38,217 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 13:22:38,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:22:38,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 76 transitions. [2022-04-27 13:22:38,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 76 transitions. [2022-04-27 13:22:38,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:38,292 INFO L225 Difference]: With dead ends: 76 [2022-04-27 13:22:38,292 INFO L226 Difference]: Without dead ends: 69 [2022-04-27 13:22:38,293 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 78 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=60, Invalid=212, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:22:38,293 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 34 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 241 mSolverCounterSat, 31 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 272 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 31 IncrementalHoareTripleChecker+Valid, 241 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:38,293 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 217 Invalid, 272 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [31 Valid, 241 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 13:22:38,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2022-04-27 13:22:38,319 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 67. [2022-04-27 13:22:38,319 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:38,320 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:38,320 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:38,320 INFO L87 Difference]: Start difference. First operand 69 states. Second operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:38,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,322 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2022-04-27 13:22:38,322 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2022-04-27 13:22:38,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:38,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:38,323 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 69 states. [2022-04-27 13:22:38,323 INFO L87 Difference]: Start difference. First operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) Second operand 69 states. [2022-04-27 13:22:38,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:38,325 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2022-04-27 13:22:38,325 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2022-04-27 13:22:38,325 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:38,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:38,325 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:38,325 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:38,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 40 states have (on average 1.15) internal successors, (46), 41 states have internal predecessors, (46), 17 states have call successors, (17), 10 states have call predecessors, (17), 9 states have return successors, (15), 15 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-27 13:22:38,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 78 transitions. [2022-04-27 13:22:38,327 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 78 transitions. Word has length 45 [2022-04-27 13:22:38,327 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:38,327 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 78 transitions. [2022-04-27 13:22:38,327 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-27 13:22:38,327 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 78 transitions. [2022-04-27 13:22:38,328 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-27 13:22:38,328 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:38,328 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:38,346 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:38,543 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:38,544 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:38,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:38,544 INFO L85 PathProgramCache]: Analyzing trace with hash -1471734606, now seen corresponding path program 1 times [2022-04-27 13:22:38,544 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:38,544 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2097783713] [2022-04-27 13:22:38,545 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:38,545 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:38,561 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:38,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1975001857] [2022-04-27 13:22:38,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:38,561 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:38,561 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:38,566 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:38,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-27 13:22:38,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:38,602 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-27 13:22:38,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:38,612 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:39,909 INFO L272 TraceCheckUtils]: 0: Hoare triple {1836#true} call ULTIMATE.init(); {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L290 TraceCheckUtils]: 1: Hoare triple {1836#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); {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1836#true} {1836#true} #101#return; {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L272 TraceCheckUtils]: 4: Hoare triple {1836#true} call #t~ret6 := main(); {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L290 TraceCheckUtils]: 5: Hoare triple {1836#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; {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L272 TraceCheckUtils]: 6: Hoare triple {1836#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L290 TraceCheckUtils]: 7: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,910 INFO L290 TraceCheckUtils]: 8: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,911 INFO L290 TraceCheckUtils]: 9: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,911 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1836#true} {1836#true} #81#return; {1836#true} is VALID [2022-04-27 13:22:39,911 INFO L290 TraceCheckUtils]: 11: Hoare triple {1836#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1836#true} is VALID [2022-04-27 13:22:39,911 INFO L272 TraceCheckUtils]: 12: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {1836#true} ~cond := #in~cond; {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:39,912 INFO L290 TraceCheckUtils]: 14: Hoare triple {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:39,912 INFO L290 TraceCheckUtils]: 15: Hoare triple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:39,912 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} {1836#true} #83#return; {1891#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:39,912 INFO L272 TraceCheckUtils]: 17: Hoare triple {1891#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {1836#true} ~cond := #in~cond; {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:39,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {1880#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:39,913 INFO L290 TraceCheckUtils]: 20: Hoare triple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1884#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:39,914 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1884#(not (= |assume_abort_if_not_#in~cond| 0))} {1891#(<= (mod main_~B~0 4294967296) 1)} #85#return; {1907#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:39,914 INFO L290 TraceCheckUtils]: 22: Hoare triple {1907#(and (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:39,915 INFO L290 TraceCheckUtils]: 23: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} assume !false; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:39,915 INFO L272 TraceCheckUtils]: 24: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,915 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,915 INFO L290 TraceCheckUtils]: 26: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,915 INFO L290 TraceCheckUtils]: 27: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,916 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #87#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:39,916 INFO L272 TraceCheckUtils]: 29: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,916 INFO L290 TraceCheckUtils]: 30: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,916 INFO L290 TraceCheckUtils]: 31: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,916 INFO L290 TraceCheckUtils]: 32: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,917 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #89#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:39,918 INFO L272 TraceCheckUtils]: 34: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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)); {1836#true} is VALID [2022-04-27 13:22:39,918 INFO L290 TraceCheckUtils]: 35: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,918 INFO L290 TraceCheckUtils]: 36: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,918 INFO L290 TraceCheckUtils]: 37: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,918 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1836#true} {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} #91#return; {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)) (= main_~p~0 1))} is VALID [2022-04-27 13:22:39,919 INFO L290 TraceCheckUtils]: 39: Hoare triple {1911#(and (= main_~d~0 (mod main_~B~0 4294967296)) (<= (mod main_~B~0 4294967296) 1) (<= 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; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:39,920 INFO L290 TraceCheckUtils]: 40: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} assume !false; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:39,920 INFO L272 TraceCheckUtils]: 41: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,920 INFO L290 TraceCheckUtils]: 42: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,920 INFO L290 TraceCheckUtils]: 43: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,921 INFO L290 TraceCheckUtils]: 44: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,921 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1836#true} {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #87#return; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:39,921 INFO L272 TraceCheckUtils]: 46: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:39,921 INFO L290 TraceCheckUtils]: 47: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:39,921 INFO L290 TraceCheckUtils]: 48: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:39,921 INFO L290 TraceCheckUtils]: 49: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:39,922 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1836#true} {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} #89#return; {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:39,923 INFO L272 TraceCheckUtils]: 51: Hoare triple {1963#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (<= 1 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:39,923 INFO L290 TraceCheckUtils]: 52: Hoare triple {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:39,923 INFO L290 TraceCheckUtils]: 53: Hoare triple {2004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1837#false} is VALID [2022-04-27 13:22:39,923 INFO L290 TraceCheckUtils]: 54: Hoare triple {1837#false} assume !false; {1837#false} is VALID [2022-04-27 13:22:39,924 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 16 proven. 4 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-27 13:22:39,924 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:40,371 INFO L290 TraceCheckUtils]: 54: Hoare triple {1837#false} assume !false; {1837#false} is VALID [2022-04-27 13:22:40,372 INFO L290 TraceCheckUtils]: 53: Hoare triple {2004#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1837#false} is VALID [2022-04-27 13:22:40,372 INFO L290 TraceCheckUtils]: 52: Hoare triple {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2004#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:40,372 INFO L272 TraceCheckUtils]: 51: Hoare triple {2020#(= 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)); {2000#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:40,373 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,375 INFO L290 TraceCheckUtils]: 49: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,375 INFO L290 TraceCheckUtils]: 48: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,375 INFO L290 TraceCheckUtils]: 47: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,375 INFO L272 TraceCheckUtils]: 46: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,378 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,378 INFO L290 TraceCheckUtils]: 44: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,378 INFO L290 TraceCheckUtils]: 43: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,378 INFO L290 TraceCheckUtils]: 42: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,378 INFO L272 TraceCheckUtils]: 41: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,378 INFO L290 TraceCheckUtils]: 40: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {2020#(= 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; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,425 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #91#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,425 INFO L290 TraceCheckUtils]: 37: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,425 INFO L290 TraceCheckUtils]: 36: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,425 INFO L290 TraceCheckUtils]: 35: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,425 INFO L272 TraceCheckUtils]: 34: Hoare triple {2020#(= 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)); {1836#true} is VALID [2022-04-27 13:22:40,425 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #89#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 32: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 31: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 30: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L272 TraceCheckUtils]: 29: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1836#true} {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} #87#return; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 27: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 26: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,426 INFO L290 TraceCheckUtils]: 25: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,427 INFO L272 TraceCheckUtils]: 24: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} assume !false; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,427 INFO L290 TraceCheckUtils]: 22: Hoare triple {1836#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2020#(= main_~d~0 (* main_~p~0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:22:40,427 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1836#true} {1836#true} #85#return; {1836#true} is VALID [2022-04-27 13:22:40,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 19: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 18: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L272 TraceCheckUtils]: 17: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1836#true} {1836#true} #83#return; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 15: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 14: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L272 TraceCheckUtils]: 12: Hoare triple {1836#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 11: Hoare triple {1836#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1836#true} {1836#true} #81#return; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 9: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {1836#true} assume !(0 == ~cond); {1836#true} is VALID [2022-04-27 13:22:40,428 INFO L290 TraceCheckUtils]: 7: Hoare triple {1836#true} ~cond := #in~cond; {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L272 TraceCheckUtils]: 6: Hoare triple {1836#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L290 TraceCheckUtils]: 5: Hoare triple {1836#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; {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L272 TraceCheckUtils]: 4: Hoare triple {1836#true} call #t~ret6 := main(); {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1836#true} {1836#true} #101#return; {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L290 TraceCheckUtils]: 2: Hoare triple {1836#true} assume true; {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L290 TraceCheckUtils]: 1: Hoare triple {1836#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); {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L272 TraceCheckUtils]: 0: Hoare triple {1836#true} call ULTIMATE.init(); {1836#true} is VALID [2022-04-27 13:22:40,429 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2022-04-27 13:22:40,429 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:40,429 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2097783713] [2022-04-27 13:22:40,430 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:40,430 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1975001857] [2022-04-27 13:22:40,430 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1975001857] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-27 13:22:40,430 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 13:22:40,430 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [10] total 11 [2022-04-27 13:22:40,430 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [538009974] [2022-04-27 13:22:40,430 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:40,430 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:22:40,431 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:40,431 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:22:40,457 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:40,458 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:22:40,458 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:40,458 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:22:40,458 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:22:40,458 INFO L87 Difference]: Start difference. First operand 67 states and 78 transitions. Second operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:22:40,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,773 INFO L93 Difference]: Finished difference Result 79 states and 93 transitions. [2022-04-27 13:22:40,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:22:40,773 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 55 [2022-04-27 13:22:40,774 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:40,774 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:22:40,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:22:40,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:22:40,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-27 13:22:40,776 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-27 13:22:40,817 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:40,818 INFO L225 Difference]: With dead ends: 79 [2022-04-27 13:22:40,818 INFO L226 Difference]: Without dead ends: 77 [2022-04-27 13:22:40,819 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 98 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:22:40,820 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:22:40,821 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:22:40,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2022-04-27 13:22:40,854 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 74. [2022-04-27 13:22:40,855 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:40,855 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:40,855 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:40,855 INFO L87 Difference]: Start difference. First operand 77 states. Second operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:40,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,857 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-27 13:22:40,857 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 91 transitions. [2022-04-27 13:22:40,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:40,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:40,858 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:22:40,858 INFO L87 Difference]: Start difference. First operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) Second operand 77 states. [2022-04-27 13:22:40,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:40,860 INFO L93 Difference]: Finished difference Result 77 states and 91 transitions. [2022-04-27 13:22:40,860 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 91 transitions. [2022-04-27 13:22:40,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:40,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:40,860 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:40,860 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:40,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 44 states have (on average 1.1363636363636365) internal successors, (50), 46 states have internal predecessors, (50), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 16 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:40,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 86 transitions. [2022-04-27 13:22:40,862 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 86 transitions. Word has length 55 [2022-04-27 13:22:40,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:40,862 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 86 transitions. [2022-04-27 13:22:40,863 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-27 13:22:40,863 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 86 transitions. [2022-04-27 13:22:40,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-27 13:22:40,864 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:40,864 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 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, 1] [2022-04-27 13:22:40,882 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:41,080 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:41,080 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:41,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:41,080 INFO L85 PathProgramCache]: Analyzing trace with hash 1769996925, now seen corresponding path program 1 times [2022-04-27 13:22:41,081 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:41,081 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550038356] [2022-04-27 13:22:41,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:41,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:41,094 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:41,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [716649557] [2022-04-27 13:22:41,094 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:41,094 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:41,094 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:41,098 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:41,099 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-27 13:22:41,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,137 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 3 conjunts are in the unsatisfiable core [2022-04-27 13:22:41,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:41,154 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:41,652 INFO L272 TraceCheckUtils]: 0: Hoare triple {2551#true} call ULTIMATE.init(); {2551#true} is VALID [2022-04-27 13:22:41,652 INFO L290 TraceCheckUtils]: 1: Hoare triple {2551#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); {2551#true} is VALID [2022-04-27 13:22:41,652 INFO L290 TraceCheckUtils]: 2: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2551#true} {2551#true} #101#return; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L272 TraceCheckUtils]: 4: Hoare triple {2551#true} call #t~ret6 := main(); {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 5: Hoare triple {2551#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; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L272 TraceCheckUtils]: 6: Hoare triple {2551#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 7: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 8: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 9: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2551#true} {2551#true} #81#return; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 11: Hoare triple {2551#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L272 TraceCheckUtils]: 12: Hoare triple {2551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 13: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2551#true} {2551#true} #83#return; {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L272 TraceCheckUtils]: 17: Hoare triple {2551#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L290 TraceCheckUtils]: 19: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L290 TraceCheckUtils]: 20: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,654 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2551#true} {2551#true} #85#return; {2551#true} is VALID [2022-04-27 13:22:41,657 INFO L290 TraceCheckUtils]: 22: Hoare triple {2551#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {2622#(<= 1 main_~p~0)} is VALID [2022-04-27 13:22:41,658 INFO L290 TraceCheckUtils]: 23: Hoare triple {2622#(<= 1 main_~p~0)} assume !false; {2622#(<= 1 main_~p~0)} is VALID [2022-04-27 13:22:41,658 INFO L272 TraceCheckUtils]: 24: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,658 INFO L290 TraceCheckUtils]: 25: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,658 INFO L290 TraceCheckUtils]: 26: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,658 INFO L290 TraceCheckUtils]: 27: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,658 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #87#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-27 13:22:41,659 INFO L272 TraceCheckUtils]: 29: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,659 INFO L290 TraceCheckUtils]: 30: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,659 INFO L290 TraceCheckUtils]: 31: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,659 INFO L290 TraceCheckUtils]: 32: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,659 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #89#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-27 13:22:41,659 INFO L272 TraceCheckUtils]: 34: Hoare triple {2622#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,659 INFO L290 TraceCheckUtils]: 35: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,660 INFO L290 TraceCheckUtils]: 36: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,660 INFO L290 TraceCheckUtils]: 37: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,660 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2551#true} {2622#(<= 1 main_~p~0)} #91#return; {2622#(<= 1 main_~p~0)} is VALID [2022-04-27 13:22:41,661 INFO L290 TraceCheckUtils]: 39: Hoare triple {2622#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,661 INFO L290 TraceCheckUtils]: 40: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !false; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,661 INFO L272 TraceCheckUtils]: 41: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,661 INFO L290 TraceCheckUtils]: 42: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,661 INFO L290 TraceCheckUtils]: 43: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,661 INFO L290 TraceCheckUtils]: 44: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,662 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #87#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,662 INFO L272 TraceCheckUtils]: 46: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,662 INFO L290 TraceCheckUtils]: 47: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,662 INFO L290 TraceCheckUtils]: 48: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,662 INFO L290 TraceCheckUtils]: 49: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,663 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #89#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,663 INFO L272 TraceCheckUtils]: 51: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,663 INFO L290 TraceCheckUtils]: 52: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,663 INFO L290 TraceCheckUtils]: 53: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,663 INFO L290 TraceCheckUtils]: 54: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,664 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #91#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,664 INFO L290 TraceCheckUtils]: 56: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !(~r~0 >= ~d~0); {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,664 INFO L290 TraceCheckUtils]: 57: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !false; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,664 INFO L272 TraceCheckUtils]: 58: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,664 INFO L290 TraceCheckUtils]: 59: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,664 INFO L290 TraceCheckUtils]: 60: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,665 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #93#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,665 INFO L272 TraceCheckUtils]: 63: Hoare triple {2674#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {2551#true} is VALID [2022-04-27 13:22:41,665 INFO L290 TraceCheckUtils]: 64: Hoare triple {2551#true} ~cond := #in~cond; {2551#true} is VALID [2022-04-27 13:22:41,665 INFO L290 TraceCheckUtils]: 65: Hoare triple {2551#true} assume !(0 == ~cond); {2551#true} is VALID [2022-04-27 13:22:41,665 INFO L290 TraceCheckUtils]: 66: Hoare triple {2551#true} assume true; {2551#true} is VALID [2022-04-27 13:22:41,666 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {2551#true} {2674#(<= 1 (div main_~p~0 2))} #95#return; {2674#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:22:41,666 INFO L290 TraceCheckUtils]: 68: Hoare triple {2674#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {2552#false} is VALID [2022-04-27 13:22:41,666 INFO L272 TraceCheckUtils]: 69: Hoare triple {2552#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {2552#false} is VALID [2022-04-27 13:22:41,666 INFO L290 TraceCheckUtils]: 70: Hoare triple {2552#false} ~cond := #in~cond; {2552#false} is VALID [2022-04-27 13:22:41,666 INFO L290 TraceCheckUtils]: 71: Hoare triple {2552#false} assume 0 == ~cond; {2552#false} is VALID [2022-04-27 13:22:41,667 INFO L290 TraceCheckUtils]: 72: Hoare triple {2552#false} assume !false; {2552#false} is VALID [2022-04-27 13:22:41,667 INFO L134 CoverageAnalysis]: Checked inductivity of 145 backedges. 21 proven. 0 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-27 13:22:41,667 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 13:22:41,667 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:41,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550038356] [2022-04-27 13:22:41,667 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:41,667 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [716649557] [2022-04-27 13:22:41,667 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [716649557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 13:22:41,667 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 13:22:41,667 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 13:22:41,667 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281547999] [2022-04-27 13:22:41,668 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 13:22:41,668 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 73 [2022-04-27 13:22:41,668 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:41,668 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:22:41,699 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:41,699 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 13:22:41,699 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:41,699 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 13:22:41,699 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:41,700 INFO L87 Difference]: Start difference. First operand 74 states and 86 transitions. Second operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:22:41,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:41,812 INFO L93 Difference]: Finished difference Result 83 states and 96 transitions. [2022-04-27 13:22:41,812 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 13:22:41,812 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) Word has length 73 [2022-04-27 13:22:41,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:22:41,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:22:41,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 66 transitions. [2022-04-27 13:22:41,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:22:41,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 66 transitions. [2022-04-27 13:22:41,814 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 66 transitions. [2022-04-27 13:22:41,859 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:41,860 INFO L225 Difference]: With dead ends: 83 [2022-04-27 13:22:41,860 INFO L226 Difference]: Without dead ends: 75 [2022-04-27 13:22:41,868 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 72 GetRequests, 70 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-04-27 13:22:41,869 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 6 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 78 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 13:22:41,869 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 78 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 13:22:41,869 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-04-27 13:22:41,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 75. [2022-04-27 13:22:41,909 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:22:41,909 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:41,910 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:41,910 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:41,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:41,913 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-04-27 13:22:41,913 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-27 13:22:41,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:41,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:41,913 INFO L74 IsIncluded]: Start isIncluded. First operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 75 states. [2022-04-27 13:22:41,913 INFO L87 Difference]: Start difference. First operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 75 states. [2022-04-27 13:22:41,915 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:22:41,915 INFO L93 Difference]: Finished difference Result 75 states and 87 transitions. [2022-04-27 13:22:41,915 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-27 13:22:41,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:22:41,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:22:41,916 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:22:41,916 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:22:41,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 75 states, 45 states have (on average 1.1333333333333333) internal successors, (51), 46 states have internal predecessors, (51), 19 states have call successors, (19), 11 states have call predecessors, (19), 10 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-27 13:22:41,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 87 transitions. [2022-04-27 13:22:41,917 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 87 transitions. Word has length 73 [2022-04-27 13:22:41,918 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:22:41,918 INFO L495 AbstractCegarLoop]: Abstraction has 75 states and 87 transitions. [2022-04-27 13:22:41,918 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.0) internal successors, (20), 4 states have internal predecessors, (20), 4 states have call successors, (14), 2 states have call predecessors, (14), 1 states have return successors, (12), 3 states have call predecessors, (12), 3 states have call successors, (12) [2022-04-27 13:22:41,918 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 87 transitions. [2022-04-27 13:22:41,919 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-27 13:22:41,919 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:22:41,919 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:22:41,937 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-27 13:22:42,135 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:42,136 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:22:42,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:22:42,136 INFO L85 PathProgramCache]: Analyzing trace with hash 680531353, now seen corresponding path program 1 times [2022-04-27 13:22:42,136 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:22:42,136 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1306808433] [2022-04-27 13:22:42,136 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:42,136 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:22:42,146 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:22:42,146 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1657967215] [2022-04-27 13:22:42,146 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:22:42,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:22:42,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:22:42,147 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-27 13:22:42,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-27 13:22:42,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,187 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-27 13:22:42,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:22:42,199 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:22:47,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {3148#true} call ULTIMATE.init(); {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#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); {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3148#true} {3148#true} #101#return; {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {3148#true} call #t~ret6 := main(); {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#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; {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {3148#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3148#true} {3148#true} #81#return; {3148#true} is VALID [2022-04-27 13:22:47,573 INFO L290 TraceCheckUtils]: 11: Hoare triple {3148#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3148#true} is VALID [2022-04-27 13:22:47,573 INFO L272 TraceCheckUtils]: 12: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,573 INFO L290 TraceCheckUtils]: 13: Hoare triple {3148#true} ~cond := #in~cond; {3192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:22:47,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {3192#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:47,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {3196#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3196#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:22:47,574 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3196#(not (= |assume_abort_if_not_#in~cond| 0))} {3148#true} #83#return; {3203#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:47,574 INFO L272 TraceCheckUtils]: 17: Hoare triple {3203#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,575 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3148#true} {3203#(<= (mod main_~B~0 4294967296) 1)} #85#return; {3203#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:22:47,575 INFO L290 TraceCheckUtils]: 22: Hoare triple {3203#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,575 INFO L290 TraceCheckUtils]: 23: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,575 INFO L272 TraceCheckUtils]: 24: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L290 TraceCheckUtils]: 26: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L290 TraceCheckUtils]: 27: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,576 INFO L272 TraceCheckUtils]: 29: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,576 INFO L290 TraceCheckUtils]: 32: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,577 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,577 INFO L272 TraceCheckUtils]: 34: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,577 INFO L290 TraceCheckUtils]: 37: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,578 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3148#true} {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,579 INFO L290 TraceCheckUtils]: 39: Hoare triple {3222#(and (= main_~d~0 (mod main_~B~0 4294967296)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,579 INFO L290 TraceCheckUtils]: 40: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,579 INFO L272 TraceCheckUtils]: 41: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:47,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,580 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,580 INFO L272 TraceCheckUtils]: 46: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= 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)); {3148#true} is VALID [2022-04-27 13:22:47,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,580 INFO L290 TraceCheckUtils]: 49: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,581 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,581 INFO L272 TraceCheckUtils]: 51: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= 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)); {3148#true} is VALID [2022-04-27 13:22:47,581 INFO L290 TraceCheckUtils]: 52: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,581 INFO L290 TraceCheckUtils]: 53: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,581 INFO L290 TraceCheckUtils]: 54: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,585 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3148#true} {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,586 INFO L290 TraceCheckUtils]: 56: Hoare triple {3274#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,587 INFO L290 TraceCheckUtils]: 57: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,587 INFO L272 TraceCheckUtils]: 58: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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)); {3148#true} is VALID [2022-04-27 13:22:47,587 INFO L290 TraceCheckUtils]: 59: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,587 INFO L290 TraceCheckUtils]: 60: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,587 INFO L290 TraceCheckUtils]: 61: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,589 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3148#true} {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #93#return; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,590 INFO L272 TraceCheckUtils]: 63: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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)); {3148#true} is VALID [2022-04-27 13:22:47,590 INFO L290 TraceCheckUtils]: 64: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:47,590 INFO L290 TraceCheckUtils]: 65: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:47,590 INFO L290 TraceCheckUtils]: 66: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:47,590 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3148#true} {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} #95#return; {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (not (<= main_~d~0 main_~r~0)) (= main_~q~0 0) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:22:47,591 INFO L290 TraceCheckUtils]: 68: Hoare triple {3326#(and (= (mod main_~A~0 4294967296) main_~r~0) (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (= main_~p~0 2) (<= (mod main_~B~0 4294967296) 1) (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); {3363#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 0) (not (<= (* 2 (mod main_~B~0 4294967296)) main_~r~0)) (<= (mod main_~B~0 4294967296) main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:22:47,592 INFO L290 TraceCheckUtils]: 69: Hoare triple {3363#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~B~0 4294967296) 1) (= 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; {3367#(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) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:47,593 INFO L290 TraceCheckUtils]: 70: Hoare triple {3367#(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) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} assume !false; {3367#(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) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} is VALID [2022-04-27 13:22:47,594 INFO L272 TraceCheckUtils]: 71: Hoare triple {3367#(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) (<= (mod main_~B~0 4294967296) 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:47,594 INFO L290 TraceCheckUtils]: 72: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:47,594 INFO L290 TraceCheckUtils]: 73: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3149#false} is VALID [2022-04-27 13:22:47,594 INFO L290 TraceCheckUtils]: 74: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-04-27 13:22:47,595 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 19 proven. 10 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-27 13:22:47,595 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:22:54,283 INFO L290 TraceCheckUtils]: 74: Hoare triple {3149#false} assume !false; {3149#false} is VALID [2022-04-27 13:22:54,283 INFO L290 TraceCheckUtils]: 73: Hoare triple {3378#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3149#false} is VALID [2022-04-27 13:22:54,284 INFO L290 TraceCheckUtils]: 72: Hoare triple {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3378#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:22:54,284 INFO L272 TraceCheckUtils]: 71: Hoare triple {3394#(= (+ 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)); {3374#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:22:54,285 INFO L290 TraceCheckUtils]: 70: Hoare triple {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} assume !false; {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:54,287 INFO L290 TraceCheckUtils]: 69: Hoare triple {3401#(= (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; {3394#(= (+ main_~r~0 (* main_~q~0 (mod main_~B~0 4294967296))) (mod main_~A~0 4294967296))} is VALID [2022-04-27 13:22:54,297 INFO L290 TraceCheckUtils]: 68: Hoare triple {3405#(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); {3401#(= (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:22:54,297 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {3148#true} {3405#(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; {3405#(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:22:54,297 INFO L290 TraceCheckUtils]: 66: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,297 INFO L290 TraceCheckUtils]: 65: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,298 INFO L290 TraceCheckUtils]: 64: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,298 INFO L272 TraceCheckUtils]: 63: Hoare triple {3405#(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)); {3148#true} is VALID [2022-04-27 13:22:54,298 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {3148#true} {3405#(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; {3405#(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:22:54,298 INFO L290 TraceCheckUtils]: 61: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,298 INFO L290 TraceCheckUtils]: 60: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,298 INFO L290 TraceCheckUtils]: 59: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,299 INFO L272 TraceCheckUtils]: 58: Hoare triple {3405#(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)); {3148#true} is VALID [2022-04-27 13:22:54,299 INFO L290 TraceCheckUtils]: 57: Hoare triple {3405#(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; {3405#(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:22:54,300 INFO L290 TraceCheckUtils]: 56: Hoare triple {3442#(or (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))))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {3405#(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:22:54,301 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3148#true} {3442#(or (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))))) (<= main_~d~0 main_~r~0))} #91#return; {3442#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:54,301 INFO L290 TraceCheckUtils]: 54: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,301 INFO L290 TraceCheckUtils]: 53: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,301 INFO L272 TraceCheckUtils]: 51: Hoare triple {3442#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,302 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3148#true} {3442#(or (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))))) (<= main_~d~0 main_~r~0))} #89#return; {3442#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:54,302 INFO L290 TraceCheckUtils]: 49: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,302 INFO L290 TraceCheckUtils]: 48: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,302 INFO L290 TraceCheckUtils]: 47: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,302 INFO L272 TraceCheckUtils]: 46: Hoare triple {3442#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,303 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3148#true} {3442#(or (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))))) (<= main_~d~0 main_~r~0))} #87#return; {3442#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:54,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,303 INFO L290 TraceCheckUtils]: 42: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,303 INFO L272 TraceCheckUtils]: 41: Hoare triple {3442#(or (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))))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,304 INFO L290 TraceCheckUtils]: 40: Hoare triple {3442#(or (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))))) (<= main_~d~0 main_~r~0))} assume !false; {3442#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:54,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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; {3442#(or (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))))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:22:54,308 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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:22:54,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,308 INFO L290 TraceCheckUtils]: 36: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,309 INFO L290 TraceCheckUtils]: 35: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,309 INFO L272 TraceCheckUtils]: 34: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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)); {3148#true} is VALID [2022-04-27 13:22:54,309 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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:22:54,310 INFO L290 TraceCheckUtils]: 32: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L290 TraceCheckUtils]: 31: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L290 TraceCheckUtils]: 30: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L272 TraceCheckUtils]: 29: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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)); {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3148#true} {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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:22:54,310 INFO L290 TraceCheckUtils]: 27: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L290 TraceCheckUtils]: 26: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,310 INFO L290 TraceCheckUtils]: 25: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,311 INFO L272 TraceCheckUtils]: 24: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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)); {3148#true} is VALID [2022-04-27 13:22:54,311 INFO L290 TraceCheckUtils]: 23: Hoare triple {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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:22:54,312 INFO L290 TraceCheckUtils]: 22: Hoare triple {3148#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {3494#(or (not (<= main_~d~0 main_~r~0)) (= (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:22:54,312 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3148#true} {3148#true} #85#return; {3148#true} is VALID [2022-04-27 13:22:54,312 INFO L290 TraceCheckUtils]: 20: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 19: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 18: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L272 TraceCheckUtils]: 17: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3148#true} {3148#true} #83#return; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 15: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 14: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 13: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L272 TraceCheckUtils]: 12: Hoare triple {3148#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 11: Hoare triple {3148#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3148#true} {3148#true} #81#return; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 9: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 8: Hoare triple {3148#true} assume !(0 == ~cond); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 7: Hoare triple {3148#true} ~cond := #in~cond; {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L272 TraceCheckUtils]: 6: Hoare triple {3148#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {3148#true} is VALID [2022-04-27 13:22:54,313 INFO L290 TraceCheckUtils]: 5: Hoare triple {3148#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; {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L272 TraceCheckUtils]: 4: Hoare triple {3148#true} call #t~ret6 := main(); {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3148#true} {3148#true} #101#return; {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L290 TraceCheckUtils]: 2: Hoare triple {3148#true} assume true; {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L290 TraceCheckUtils]: 1: Hoare triple {3148#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); {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L272 TraceCheckUtils]: 0: Hoare triple {3148#true} call ULTIMATE.init(); {3148#true} is VALID [2022-04-27 13:22:54,314 INFO L134 CoverageAnalysis]: Checked inductivity of 147 backedges. 16 proven. 7 refuted. 0 times theorem prover too weak. 124 trivial. 0 not checked. [2022-04-27 13:22:54,314 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:22:54,314 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1306808433] [2022-04-27 13:22:54,315 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:22:54,315 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1657967215] [2022-04-27 13:22:54,315 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1657967215] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:22:54,315 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:22:54,315 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 17 [2022-04-27 13:22:54,315 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [319080403] [2022-04-27 13:22:54,315 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:22:54,316 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-27 13:22:54,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:22:54,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:22:54,421 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:22:54,421 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-27 13:22:54,421 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:22:54,421 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-27 13:22:54,422 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-27 13:22:54,422 INFO L87 Difference]: Start difference. First operand 75 states and 87 transitions. Second operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:23:01,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:23:01,497 INFO L93 Difference]: Finished difference Result 126 states and 155 transitions. [2022-04-27 13:23:01,497 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-27 13:23:01,498 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) Word has length 75 [2022-04-27 13:23:01,498 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:23:01,498 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:23:01,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-27 13:23:01,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:23:01,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 101 transitions. [2022-04-27 13:23:01,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 101 transitions. [2022-04-27 13:23:01,661 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:23:01,662 INFO L225 Difference]: With dead ends: 126 [2022-04-27 13:23:01,662 INFO L226 Difference]: Without dead ends: 104 [2022-04-27 13:23:01,663 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 133 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 2.0s TimeCoverageRelationStatistics Valid=92, Invalid=328, Unknown=0, NotChecked=0, Total=420 [2022-04-27 13:23:01,668 INFO L413 NwaCegarLoop]: 35 mSDtfsCounter, 58 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 398 mSolverCounterSat, 130 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 58 SdHoareTripleChecker+Valid, 180 SdHoareTripleChecker+Invalid, 528 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 130 IncrementalHoareTripleChecker+Valid, 398 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:23:01,669 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [58 Valid, 180 Invalid, 528 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [130 Valid, 398 Invalid, 0 Unknown, 0 Unchecked, 2.4s Time] [2022-04-27 13:23:01,669 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-27 13:23:01,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 97. [2022-04-27 13:23:01,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:23:01,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:23:01,717 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:23:01,717 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:23:01,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:23:01,720 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-27 13:23:01,720 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-27 13:23:01,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:23:01,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:23:01,720 INFO L74 IsIncluded]: Start isIncluded. First operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 104 states. [2022-04-27 13:23:01,720 INFO L87 Difference]: Start difference. First operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) Second operand 104 states. [2022-04-27 13:23:01,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:23:01,723 INFO L93 Difference]: Finished difference Result 104 states and 124 transitions. [2022-04-27 13:23:01,723 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 124 transitions. [2022-04-27 13:23:01,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:23:01,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:23:01,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:23:01,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:23:01,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 97 states, 59 states have (on average 1.11864406779661) internal successors, (66), 60 states have internal predecessors, (66), 24 states have call successors, (24), 14 states have call predecessors, (24), 13 states have return successors, (22), 22 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-27 13:23:01,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 112 transitions. [2022-04-27 13:23:01,726 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 112 transitions. Word has length 75 [2022-04-27 13:23:01,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:23:01,726 INFO L495 AbstractCegarLoop]: Abstraction has 97 states and 112 transitions. [2022-04-27 13:23:01,726 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 17 states have (on average 2.0) internal successors, (34), 15 states have internal predecessors, (34), 10 states have call successors, (24), 2 states have call predecessors, (24), 2 states have return successors, (22), 8 states have call predecessors, (22), 8 states have call successors, (22) [2022-04-27 13:23:01,726 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 112 transitions. [2022-04-27 13:23:01,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-27 13:23:01,727 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:23:01,727 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:23:01,747 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:23:01,927 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:23:01,928 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:23:01,928 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:23:01,928 INFO L85 PathProgramCache]: Analyzing trace with hash -815356955, now seen corresponding path program 1 times [2022-04-27 13:23:01,928 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:23:01,928 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2005922757] [2022-04-27 13:23:01,928 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:23:01,928 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:23:01,942 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:23:01,942 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [205274776] [2022-04-27 13:23:01,942 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:23:01,942 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:23:01,943 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:23:01,945 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:23:01,946 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:23:01,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:23:01,988 INFO L263 TraceCheckSpWp]: Trace formula consists of 199 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-27 13:23:01,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:23:02,001 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:23:33,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-27 13:23:33,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#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); {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#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; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-27 13:23:33,595 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,596 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4191#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:23:33,596 INFO L290 TraceCheckUtils]: 14: Hoare triple {4191#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4195#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:23:33,596 INFO L290 TraceCheckUtils]: 15: Hoare triple {4195#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4195#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:23:33,597 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4195#(not (= |assume_abort_if_not_#in~cond| 0))} {4147#true} #83#return; {4202#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:23:33,597 INFO L272 TraceCheckUtils]: 17: Hoare triple {4202#(<= (mod main_~B~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,597 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,597 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,597 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4202#(<= (mod main_~B~0 4294967296) 1)} #85#return; {4202#(<= (mod main_~B~0 4294967296) 1)} is VALID [2022-04-27 13:23:33,599 INFO L290 TraceCheckUtils]: 22: Hoare triple {4202#(<= (mod main_~B~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,600 INFO L290 TraceCheckUtils]: 23: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,600 INFO L272 TraceCheckUtils]: 24: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,600 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,600 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,600 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,600 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #87#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,600 INFO L272 TraceCheckUtils]: 29: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #89#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,601 INFO L272 TraceCheckUtils]: 34: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,601 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,602 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,604 INFO L290 TraceCheckUtils]: 39: Hoare triple {4221#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod main_~d~0 4294967296) 1) (< main_~d~0 4294967296) (<= 0 main_~d~0) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,605 INFO L290 TraceCheckUtils]: 40: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,605 INFO L272 TraceCheckUtils]: 41: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,605 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,605 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,605 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,606 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #87#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,606 INFO L272 TraceCheckUtils]: 46: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,606 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,606 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,606 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,607 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #89#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,607 INFO L272 TraceCheckUtils]: 51: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,607 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,608 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,608 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,608 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #91#return; {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,609 INFO L290 TraceCheckUtils]: 56: Hoare triple {4273#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (= main_~p~0 2) (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !(~r~0 >= ~d~0); {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,609 INFO L290 TraceCheckUtils]: 57: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !false; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,609 INFO L272 TraceCheckUtils]: 58: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,609 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,609 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,609 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,610 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #93#return; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,610 INFO L272 TraceCheckUtils]: 63: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,610 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,610 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,610 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,611 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} #95#return; {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} is VALID [2022-04-27 13:23:33,616 INFO L290 TraceCheckUtils]: 68: Hoare triple {4325#(and (= (mod main_~A~0 4294967296) main_~r~0) (<= (mod (div (- main_~d~0) (- 2)) 4294967296) 1) (< main_~r~0 main_~d~0) (= main_~p~0 2) (= main_~q~0 0) (<= (div (* (- 1) main_~d~0) (- 2)) main_~r~0))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4362#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,619 INFO L290 TraceCheckUtils]: 69: Hoare triple {4362#(and (= (mod main_~A~0 4294967296) main_~r~0) (< (div (+ 1 (* (- 1) (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)))) (- 4294967296)) (+ (div main_~r~0 4294967296) 1)) (< (div (+ (- 1) (* (- 1) main_~r~0)) (- 2)) (+ main_~r~0 1)) (< main_~r~0 (+ (* main_~d~0 2) 1)) (= main_~q~0 0) (<= main_~d~0 main_~r~0) (= main_~p~0 1))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !false; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,620 INFO L272 TraceCheckUtils]: 71: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,620 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,620 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,620 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,621 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #93#return; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,621 INFO L272 TraceCheckUtils]: 76: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:33,621 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:33,621 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:33,621 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:33,622 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} #95#return; {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} is VALID [2022-04-27 13:23:33,622 INFO L290 TraceCheckUtils]: 81: Hoare triple {4366#(and (= (+ main_~q~0 (* (- 1) main_~p~0)) 0) (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~p~0 1))} assume !(1 != ~p~0); {4403#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} is VALID [2022-04-27 13:23:33,623 INFO L272 TraceCheckUtils]: 82: Hoare triple {4403#(and (< (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2)) (+ main_~d~0 main_~r~0 1)) (<= 0 main_~r~0) (= (+ main_~d~0 main_~r~0) (mod main_~A~0 4294967296)) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div (+ main_~d~0 main_~r~0) 4294967296) 1)) (< main_~r~0 (+ main_~d~0 1)) (= main_~q~0 1))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:23:33,623 INFO L290 TraceCheckUtils]: 83: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:23:33,623 INFO L290 TraceCheckUtils]: 84: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-27 13:23:33,624 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-27 13:23:33,624 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 23 proven. 12 refuted. 0 times theorem prover too weak. 186 trivial. 0 not checked. [2022-04-27 13:23:33,624 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:23:58,365 INFO L290 TraceCheckUtils]: 85: Hoare triple {4148#false} assume !false; {4148#false} is VALID [2022-04-27 13:23:58,366 INFO L290 TraceCheckUtils]: 84: Hoare triple {4411#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4148#false} is VALID [2022-04-27 13:23:58,366 INFO L290 TraceCheckUtils]: 83: Hoare triple {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4411#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:23:58,367 INFO L272 TraceCheckUtils]: 82: Hoare triple {4427#(= (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)); {4407#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:23:58,367 INFO L290 TraceCheckUtils]: 81: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !(1 != ~p~0); {4427#(= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0))} is VALID [2022-04-27 13:23:58,368 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {4147#true} {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #95#return; {4431#(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:23:58,368 INFO L290 TraceCheckUtils]: 79: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,368 INFO L290 TraceCheckUtils]: 78: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,368 INFO L290 TraceCheckUtils]: 77: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,368 INFO L272 TraceCheckUtils]: 76: Hoare triple {4431#(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)); {4147#true} is VALID [2022-04-27 13:23:58,369 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {4147#true} {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} #93#return; {4431#(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:23:58,369 INFO L290 TraceCheckUtils]: 74: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,369 INFO L290 TraceCheckUtils]: 73: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,369 INFO L290 TraceCheckUtils]: 72: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,369 INFO L272 TraceCheckUtils]: 71: Hoare triple {4431#(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)); {4147#true} is VALID [2022-04-27 13:23:58,369 INFO L290 TraceCheckUtils]: 70: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume !false; {4431#(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:23:58,372 INFO L290 TraceCheckUtils]: 69: Hoare triple {4431#(or (= (mod main_~A~0 4294967296) (+ (* main_~d~0 main_~q~0) main_~r~0)) (not (= main_~p~0 1)))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {4431#(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:23:58,379 INFO L290 TraceCheckUtils]: 68: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {4431#(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:23:58,380 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {4147#true} {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #95#return; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:23:58,380 INFO L290 TraceCheckUtils]: 66: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,380 INFO L290 TraceCheckUtils]: 65: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,380 INFO L290 TraceCheckUtils]: 64: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,380 INFO L272 TraceCheckUtils]: 63: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,389 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {4147#true} {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} #93#return; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:23:58,389 INFO L290 TraceCheckUtils]: 61: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,389 INFO L290 TraceCheckUtils]: 60: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,390 INFO L290 TraceCheckUtils]: 59: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,390 INFO L272 TraceCheckUtils]: 58: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,391 INFO L290 TraceCheckUtils]: 57: Hoare triple {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} assume !false; {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:23:58,391 INFO L290 TraceCheckUtils]: 56: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !(~r~0 >= ~d~0); {4471#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))))} is VALID [2022-04-27 13:23:58,392 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #91#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:23:58,392 INFO L290 TraceCheckUtils]: 54: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,392 INFO L290 TraceCheckUtils]: 53: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,392 INFO L290 TraceCheckUtils]: 52: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,392 INFO L272 TraceCheckUtils]: 51: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,393 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #89#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:23:58,393 INFO L290 TraceCheckUtils]: 49: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,393 INFO L290 TraceCheckUtils]: 48: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,393 INFO L290 TraceCheckUtils]: 47: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,393 INFO L272 TraceCheckUtils]: 46: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,393 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4147#true} {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} #87#return; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:23:58,393 INFO L290 TraceCheckUtils]: 44: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,394 INFO L290 TraceCheckUtils]: 43: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,394 INFO L272 TraceCheckUtils]: 41: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,395 INFO L290 TraceCheckUtils]: 40: Hoare triple {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} assume !false; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:23:58,398 INFO L290 TraceCheckUtils]: 39: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {4508#(or (not (= (div main_~p~0 2) 1)) (and (or (and (not (= (mod main_~d~0 2) 0)) (< main_~d~0 0)) (= (mod main_~A~0 4294967296) (+ (* main_~q~0 (div main_~d~0 2)) main_~r~0))) (or (= (mod main_~A~0 4294967296) (+ (* (+ (div main_~d~0 2) 1) main_~q~0) main_~r~0)) (not (< main_~d~0 0)) (= (mod main_~d~0 2) 0))) (<= main_~d~0 main_~r~0))} is VALID [2022-04-27 13:23:58,398 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 37: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 36: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 35: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L272 TraceCheckUtils]: 34: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 32: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 31: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L290 TraceCheckUtils]: 30: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,399 INFO L272 TraceCheckUtils]: 29: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,400 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4147#true} {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:23:58,400 INFO L290 TraceCheckUtils]: 27: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,400 INFO L290 TraceCheckUtils]: 26: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,400 INFO L272 TraceCheckUtils]: 24: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L290 TraceCheckUtils]: 23: Hoare triple {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:23:58,401 INFO L290 TraceCheckUtils]: 22: Hoare triple {4147#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {4560#(or (not (= (div (* main_~p~0 2) 2) 1)) (= (+ main_~r~0 (* (div (* main_~d~0 2) 2) main_~q~0)) (mod main_~A~0 4294967296)) (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:23:58,401 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4147#true} {4147#true} #85#return; {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L290 TraceCheckUtils]: 20: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L290 TraceCheckUtils]: 19: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L290 TraceCheckUtils]: 18: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L272 TraceCheckUtils]: 17: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,401 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4147#true} {4147#true} #83#return; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 15: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 14: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 13: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L272 TraceCheckUtils]: 12: Hoare triple {4147#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 11: Hoare triple {4147#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4147#true} {4147#true} #81#return; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 9: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 8: Hoare triple {4147#true} assume !(0 == ~cond); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 7: Hoare triple {4147#true} ~cond := #in~cond; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L272 TraceCheckUtils]: 6: Hoare triple {4147#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 5: Hoare triple {4147#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; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L272 TraceCheckUtils]: 4: Hoare triple {4147#true} call #t~ret6 := main(); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4147#true} {4147#true} #101#return; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 2: Hoare triple {4147#true} assume true; {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {4147#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); {4147#true} is VALID [2022-04-27 13:23:58,402 INFO L272 TraceCheckUtils]: 0: Hoare triple {4147#true} call ULTIMATE.init(); {4147#true} is VALID [2022-04-27 13:23:58,403 INFO L134 CoverageAnalysis]: Checked inductivity of 221 backedges. 20 proven. 9 refuted. 0 times theorem prover too weak. 192 trivial. 0 not checked. [2022-04-27 13:23:58,403 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:23:58,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2005922757] [2022-04-27 13:23:58,403 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:23:58,403 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [205274776] [2022-04-27 13:23:58,403 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [205274776] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:23:58,403 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:23:58,403 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-27 13:23:58,403 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1068712862] [2022-04-27 13:23:58,403 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:23:58,404 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) Word has length 86 [2022-04-27 13:23:58,404 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:23:58,404 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-27 13:23:58,519 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:23:58,519 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-27 13:23:58,519 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:23:58,519 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-27 13:23:58,519 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-27 13:23:58,520 INFO L87 Difference]: Start difference. First operand 97 states and 112 transitions. Second operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-27 13:24:12,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:12,663 INFO L93 Difference]: Finished difference Result 154 states and 193 transitions. [2022-04-27 13:24:12,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-04-27 13:24:12,664 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) Word has length 86 [2022-04-27 13:24:12,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:12,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-27 13:24:12,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-27 13:24:12,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-27 13:24:12,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 141 transitions. [2022-04-27 13:24:12,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 18 states and 141 transitions. [2022-04-27 13:24:12,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:12,869 INFO L225 Difference]: With dead ends: 154 [2022-04-27 13:24:12,869 INFO L226 Difference]: Without dead ends: 137 [2022-04-27 13:24:12,870 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 151 ImplicationChecksByTransitivity, 4.6s TimeCoverageRelationStatistics Valid=203, Invalid=727, Unknown=0, NotChecked=0, Total=930 [2022-04-27 13:24:12,870 INFO L413 NwaCegarLoop]: 54 mSDtfsCounter, 55 mSDsluCounter, 243 mSDsCounter, 0 mSdLazyCounter, 417 mSolverCounterSat, 130 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 297 SdHoareTripleChecker+Invalid, 547 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 130 IncrementalHoareTripleChecker+Valid, 417 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 4.4s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:12,870 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [57 Valid, 297 Invalid, 547 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [130 Valid, 417 Invalid, 0 Unknown, 0 Unchecked, 4.4s Time] [2022-04-27 13:24:12,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2022-04-27 13:24:12,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 119. [2022-04-27 13:24:12,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:12,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-27 13:24:12,963 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-27 13:24:12,963 INFO L87 Difference]: Start difference. First operand 137 states. Second operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-27 13:24:12,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:12,966 INFO L93 Difference]: Finished difference Result 137 states and 171 transitions. [2022-04-27 13:24:12,966 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 171 transitions. [2022-04-27 13:24:12,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:12,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:12,967 INFO L74 IsIncluded]: Start isIncluded. First operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 137 states. [2022-04-27 13:24:12,967 INFO L87 Difference]: Start difference. First operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) Second operand 137 states. [2022-04-27 13:24:12,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:12,971 INFO L93 Difference]: Finished difference Result 137 states and 171 transitions. [2022-04-27 13:24:12,971 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 171 transitions. [2022-04-27 13:24:12,971 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:12,971 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:12,971 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:12,971 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:12,972 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 119 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 74 states have internal predecessors, (82), 31 states have call successors, (31), 16 states have call predecessors, (31), 15 states have return successors, (29), 28 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-27 13:24:12,974 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 142 transitions. [2022-04-27 13:24:12,974 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 142 transitions. Word has length 86 [2022-04-27 13:24:12,974 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:12,974 INFO L495 AbstractCegarLoop]: Abstraction has 119 states and 142 transitions. [2022-04-27 13:24:12,975 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 16 states have (on average 2.25) internal successors, (36), 16 states have internal predecessors, (36), 12 states have call successors, (28), 2 states have call predecessors, (28), 2 states have return successors, (26), 10 states have call predecessors, (26), 10 states have call successors, (26) [2022-04-27 13:24:12,975 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 142 transitions. [2022-04-27 13:24:12,975 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-27 13:24:12,975 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:12,975 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:24:12,992 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-27 13:24:13,179 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:24:13,181 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:13,182 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:13,182 INFO L85 PathProgramCache]: Analyzing trace with hash -1550260511, now seen corresponding path program 1 times [2022-04-27 13:24:13,182 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:13,182 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1560088881] [2022-04-27 13:24:13,182 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:13,182 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:13,190 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:13,190 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1485340811] [2022-04-27 13:24:13,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:13,191 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:13,191 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:13,194 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:24:13,195 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:24:13,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:13,234 INFO L263 TraceCheckSpWp]: Trace formula consists of 208 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-27 13:24:13,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:13,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:15,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {5372#true} call ULTIMATE.init(); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {5372#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); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5372#true} {5372#true} #101#return; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {5372#true} call #t~ret6 := main(); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {5372#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; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {5372#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5372#true} {5372#true} #81#return; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 11: Hoare triple {5372#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L272 TraceCheckUtils]: 12: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,242 INFO L290 TraceCheckUtils]: 14: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L290 TraceCheckUtils]: 15: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5372#true} {5372#true} #83#return; {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L272 TraceCheckUtils]: 17: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L290 TraceCheckUtils]: 18: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L290 TraceCheckUtils]: 19: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5372#true} {5372#true} #85#return; {5372#true} is VALID [2022-04-27 13:24:15,243 INFO L290 TraceCheckUtils]: 22: Hoare triple {5372#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:15,244 INFO L290 TraceCheckUtils]: 23: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:15,244 INFO L272 TraceCheckUtils]: 24: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,244 INFO L290 TraceCheckUtils]: 25: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,244 INFO L290 TraceCheckUtils]: 26: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,244 INFO L290 TraceCheckUtils]: 27: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,244 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #87#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:15,244 INFO L272 TraceCheckUtils]: 29: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 30: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 31: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 32: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #89#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:15,245 INFO L272 TraceCheckUtils]: 34: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 35: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 36: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,245 INFO L290 TraceCheckUtils]: 37: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,246 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #91#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:15,247 INFO L290 TraceCheckUtils]: 39: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:24:15,247 INFO L290 TraceCheckUtils]: 40: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !false; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:24:15,247 INFO L272 TraceCheckUtils]: 41: Hoare triple {5495#(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)); {5372#true} is VALID [2022-04-27 13:24:15,247 INFO L290 TraceCheckUtils]: 42: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,247 INFO L290 TraceCheckUtils]: 43: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,248 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #87#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:24:15,248 INFO L272 TraceCheckUtils]: 46: Hoare triple {5495#(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)); {5372#true} is VALID [2022-04-27 13:24:15,248 INFO L290 TraceCheckUtils]: 47: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,248 INFO L290 TraceCheckUtils]: 48: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,248 INFO L290 TraceCheckUtils]: 49: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,249 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #89#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:24:15,249 INFO L272 TraceCheckUtils]: 51: Hoare triple {5495#(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)); {5372#true} is VALID [2022-04-27 13:24:15,249 INFO L290 TraceCheckUtils]: 52: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,249 INFO L290 TraceCheckUtils]: 53: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,249 INFO L290 TraceCheckUtils]: 54: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,250 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5372#true} {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} #91#return; {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} is VALID [2022-04-27 13:24:15,251 INFO L290 TraceCheckUtils]: 56: Hoare triple {5495#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (<= (mod main_~B~0 4294967296) main_~r~0))} assume !(~r~0 >= ~d~0); {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:24:15,252 INFO L290 TraceCheckUtils]: 57: Hoare triple {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} assume !false; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:24:15,252 INFO L272 TraceCheckUtils]: 58: Hoare triple {5547#(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)); {5372#true} is VALID [2022-04-27 13:24:15,252 INFO L290 TraceCheckUtils]: 59: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,252 INFO L290 TraceCheckUtils]: 60: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,252 INFO L290 TraceCheckUtils]: 61: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,252 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5372#true} {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #93#return; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:24:15,252 INFO L272 TraceCheckUtils]: 63: Hoare triple {5547#(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)); {5372#true} is VALID [2022-04-27 13:24:15,252 INFO L290 TraceCheckUtils]: 64: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,253 INFO L290 TraceCheckUtils]: 65: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,253 INFO L290 TraceCheckUtils]: 66: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,253 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5372#true} {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} #95#return; {5547#(and (= main_~d~0 (* 2 (mod main_~B~0 4294967296))) (< (mod main_~B~0 4294967296) main_~d~0))} is VALID [2022-04-27 13:24:15,254 INFO L290 TraceCheckUtils]: 68: Hoare triple {5547#(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); {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,262 INFO L290 TraceCheckUtils]: 69: Hoare triple {5584#(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; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,264 INFO L290 TraceCheckUtils]: 70: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !false; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,264 INFO L272 TraceCheckUtils]: 71: Hoare triple {5584#(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)); {5372#true} is VALID [2022-04-27 13:24:15,264 INFO L290 TraceCheckUtils]: 72: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,264 INFO L290 TraceCheckUtils]: 73: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,264 INFO L290 TraceCheckUtils]: 74: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,264 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #93#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,265 INFO L272 TraceCheckUtils]: 76: Hoare triple {5584#(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)); {5372#true} is VALID [2022-04-27 13:24:15,265 INFO L290 TraceCheckUtils]: 77: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,265 INFO L290 TraceCheckUtils]: 78: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,265 INFO L290 TraceCheckUtils]: 79: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,265 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #95#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,265 INFO L290 TraceCheckUtils]: 81: Hoare triple {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} assume !(1 != ~p~0); {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,266 INFO L272 TraceCheckUtils]: 82: Hoare triple {5584#(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)); {5372#true} is VALID [2022-04-27 13:24:15,266 INFO L290 TraceCheckUtils]: 83: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:15,266 INFO L290 TraceCheckUtils]: 84: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:15,266 INFO L290 TraceCheckUtils]: 85: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:15,266 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5372#true} {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} #97#return; {5584#(and (= main_~d~0 (div (* 2 (mod main_~B~0 4294967296)) 2)) (< 0 (mod main_~B~0 4294967296)))} is VALID [2022-04-27 13:24:15,267 INFO L272 TraceCheckUtils]: 87: Hoare triple {5584#(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)); {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:15,267 INFO L290 TraceCheckUtils]: 88: Hoare triple {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5646#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:15,267 INFO L290 TraceCheckUtils]: 89: Hoare triple {5646#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5373#false} is VALID [2022-04-27 13:24:15,267 INFO L290 TraceCheckUtils]: 90: Hoare triple {5373#false} assume !false; {5373#false} is VALID [2022-04-27 13:24:15,268 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:24:15,268 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:24:16,233 INFO L290 TraceCheckUtils]: 90: Hoare triple {5373#false} assume !false; {5373#false} is VALID [2022-04-27 13:24:16,233 INFO L290 TraceCheckUtils]: 89: Hoare triple {5646#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5373#false} is VALID [2022-04-27 13:24:16,233 INFO L290 TraceCheckUtils]: 88: Hoare triple {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5646#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 13:24:16,234 INFO L272 TraceCheckUtils]: 87: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {5642#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 13:24:16,234 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #97#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,235 INFO L290 TraceCheckUtils]: 85: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,235 INFO L290 TraceCheckUtils]: 84: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,235 INFO L290 TraceCheckUtils]: 83: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,235 INFO L272 TraceCheckUtils]: 82: Hoare triple {5443#(= 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)); {5372#true} is VALID [2022-04-27 13:24:16,235 INFO L290 TraceCheckUtils]: 81: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !(1 != ~p~0); {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,235 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #95#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 79: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 78: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 77: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L272 TraceCheckUtils]: 76: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5372#true} {5443#(= main_~d~0 (mod main_~B~0 4294967296))} #93#return; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 74: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 73: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L290 TraceCheckUtils]: 72: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,236 INFO L272 TraceCheckUtils]: 71: Hoare triple {5443#(= 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)); {5372#true} is VALID [2022-04-27 13:24:16,237 INFO L290 TraceCheckUtils]: 70: Hoare triple {5443#(= main_~d~0 (mod main_~B~0 4294967296))} assume !false; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,237 INFO L290 TraceCheckUtils]: 69: Hoare triple {5443#(= 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; {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,239 INFO L290 TraceCheckUtils]: 68: Hoare triple {5719#(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); {5443#(= main_~d~0 (mod main_~B~0 4294967296))} is VALID [2022-04-27 13:24:16,239 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {5372#true} {5719#(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; {5719#(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:24:16,239 INFO L290 TraceCheckUtils]: 66: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,239 INFO L290 TraceCheckUtils]: 65: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,239 INFO L290 TraceCheckUtils]: 64: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,239 INFO L272 TraceCheckUtils]: 63: Hoare triple {5719#(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)); {5372#true} is VALID [2022-04-27 13:24:16,240 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {5372#true} {5719#(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; {5719#(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:24:16,240 INFO L290 TraceCheckUtils]: 61: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,240 INFO L290 TraceCheckUtils]: 60: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,240 INFO L290 TraceCheckUtils]: 59: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,240 INFO L272 TraceCheckUtils]: 58: Hoare triple {5719#(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)); {5372#true} is VALID [2022-04-27 13:24:16,241 INFO L290 TraceCheckUtils]: 57: Hoare triple {5719#(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; {5719#(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:24:16,242 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(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); {5719#(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:24:16,242 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5372#true} {5756#(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; {5756#(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:24:16,242 INFO L290 TraceCheckUtils]: 54: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,242 INFO L290 TraceCheckUtils]: 53: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L290 TraceCheckUtils]: 52: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L272 TraceCheckUtils]: 51: Hoare triple {5756#(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)); {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5372#true} {5756#(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; {5756#(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:24:16,243 INFO L290 TraceCheckUtils]: 49: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L290 TraceCheckUtils]: 48: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L290 TraceCheckUtils]: 47: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,243 INFO L272 TraceCheckUtils]: 46: Hoare triple {5756#(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)); {5372#true} is VALID [2022-04-27 13:24:16,244 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5372#true} {5756#(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; {5756#(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:24:16,244 INFO L290 TraceCheckUtils]: 44: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,244 INFO L290 TraceCheckUtils]: 43: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,244 INFO L290 TraceCheckUtils]: 42: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,244 INFO L272 TraceCheckUtils]: 41: Hoare triple {5756#(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)); {5372#true} is VALID [2022-04-27 13:24:16,245 INFO L290 TraceCheckUtils]: 40: Hoare triple {5756#(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; {5756#(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:24:16,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {5808#(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; {5756#(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:24:16,246 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #91#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:24:16,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,246 INFO L290 TraceCheckUtils]: 36: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,246 INFO L290 TraceCheckUtils]: 35: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,246 INFO L272 TraceCheckUtils]: 34: Hoare triple {5808#(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)); {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #89#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 32: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 31: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 30: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L272 TraceCheckUtils]: 29: Hoare triple {5808#(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)); {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5372#true} {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} #87#return; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,248 INFO L272 TraceCheckUtils]: 24: Hoare triple {5808#(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)); {5372#true} is VALID [2022-04-27 13:24:16,248 INFO L290 TraceCheckUtils]: 23: Hoare triple {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} assume !false; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:24:16,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {5372#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {5808#(or (= (div (* main_~d~0 2) 2) (mod main_~B~0 4294967296)) (<= main_~d~0 0))} is VALID [2022-04-27 13:24:16,248 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5372#true} {5372#true} #85#return; {5372#true} is VALID [2022-04-27 13:24:16,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,248 INFO L290 TraceCheckUtils]: 19: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L272 TraceCheckUtils]: 17: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5372#true} {5372#true} #83#return; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L272 TraceCheckUtils]: 12: Hoare triple {5372#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 11: Hoare triple {5372#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5372#true} {5372#true} #81#return; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {5372#true} assume !(0 == ~cond); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {5372#true} ~cond := #in~cond; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L272 TraceCheckUtils]: 6: Hoare triple {5372#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 5: Hoare triple {5372#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; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L272 TraceCheckUtils]: 4: Hoare triple {5372#true} call #t~ret6 := main(); {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5372#true} {5372#true} #101#return; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 2: Hoare triple {5372#true} assume true; {5372#true} is VALID [2022-04-27 13:24:16,249 INFO L290 TraceCheckUtils]: 1: Hoare triple {5372#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); {5372#true} is VALID [2022-04-27 13:24:16,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {5372#true} call ULTIMATE.init(); {5372#true} is VALID [2022-04-27 13:24:16,250 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:24:16,250 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:16,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1560088881] [2022-04-27 13:24:16,250 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:16,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1485340811] [2022-04-27 13:24:16,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1485340811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:24:16,250 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:24:16,250 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 11 [2022-04-27 13:24:16,250 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [716904022] [2022-04-27 13:24:16,251 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:24:16,251 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:24:16,251 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:16,251 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:24:16,339 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:24:16,339 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 13:24:16,339 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:16,339 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 13:24:16,339 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=83, Unknown=0, NotChecked=0, Total=110 [2022-04-27 13:24:16,340 INFO L87 Difference]: Start difference. First operand 119 states and 142 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:24:18,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:18,622 INFO L93 Difference]: Finished difference Result 127 states and 150 transitions. [2022-04-27 13:24:18,622 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 13:24:18,622 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:24:18,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:18,622 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:24:18,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:24:18,623 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:24:18,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2022-04-27 13:24:18,624 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2022-04-27 13:24:18,697 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:24:18,698 INFO L225 Difference]: With dead ends: 127 [2022-04-27 13:24:18,698 INFO L226 Difference]: Without dead ends: 106 [2022-04-27 13:24:18,699 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 184 GetRequests, 171 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-27 13:24:18,699 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 12 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 158 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 269 SdHoareTripleChecker+Invalid, 172 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 158 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:18,699 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 269 Invalid, 172 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 158 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:24:18,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-27 13:24:18,782 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 106. [2022-04-27 13:24:18,783 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:18,783 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:24:18,783 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:24:18,783 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:24:18,785 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:18,785 INFO L93 Difference]: Finished difference Result 106 states and 125 transitions. [2022-04-27 13:24:18,785 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-27 13:24:18,786 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:18,786 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:18,786 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 106 states. [2022-04-27 13:24:18,786 INFO L87 Difference]: Start difference. First operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) Second operand 106 states. [2022-04-27 13:24:18,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:18,788 INFO L93 Difference]: Finished difference Result 106 states and 125 transitions. [2022-04-27 13:24:18,788 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-27 13:24:18,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:18,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:18,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:18,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:18,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 64 states have (on average 1.140625) internal successors, (73), 66 states have internal predecessors, (73), 27 states have call successors, (27), 15 states have call predecessors, (27), 14 states have return successors, (25), 24 states have call predecessors, (25), 25 states have call successors, (25) [2022-04-27 13:24:18,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 125 transitions. [2022-04-27 13:24:18,790 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 125 transitions. Word has length 91 [2022-04-27 13:24:18,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:18,791 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 125 transitions. [2022-04-27 13:24:18,791 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:24:18,791 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 125 transitions. [2022-04-27 13:24:18,792 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-27 13:24:18,792 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:18,792 INFO L195 NwaCegarLoop]: trace histogram [15, 14, 14, 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, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:18,813 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-27 13:24:18,992 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:24:18,992 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:18,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:18,993 INFO L85 PathProgramCache]: Analyzing trace with hash -407905887, now seen corresponding path program 2 times [2022-04-27 13:24:18,993 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:18,993 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [980753571] [2022-04-27 13:24:18,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:18,993 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:19,007 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:19,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [130175991] [2022-04-27 13:24:19,007 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:24:19,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:19,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:19,015 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:24:19,030 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:24:19,064 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:24:19,064 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:24:19,065 INFO L263 TraceCheckSpWp]: Trace formula consists of 241 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-27 13:24:19,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:19,080 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:21,929 INFO L272 TraceCheckUtils]: 0: Hoare triple {6477#true} call ULTIMATE.init(); {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 1: Hoare triple {6477#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); {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 2: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6477#true} {6477#true} #101#return; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L272 TraceCheckUtils]: 4: Hoare triple {6477#true} call #t~ret6 := main(); {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 5: Hoare triple {6477#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; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L272 TraceCheckUtils]: 6: Hoare triple {6477#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 7: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 8: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 9: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6477#true} {6477#true} #81#return; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L290 TraceCheckUtils]: 11: Hoare triple {6477#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6477#true} is VALID [2022-04-27 13:24:21,930 INFO L272 TraceCheckUtils]: 12: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 15: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6477#true} {6477#true} #83#return; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L272 TraceCheckUtils]: 17: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 18: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6477#true} {6477#true} #85#return; {6477#true} is VALID [2022-04-27 13:24:21,931 INFO L290 TraceCheckUtils]: 22: Hoare triple {6477#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:21,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {6548#(<= 1 main_~p~0)} assume !false; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:21,932 INFO L272 TraceCheckUtils]: 24: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,932 INFO L290 TraceCheckUtils]: 25: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,932 INFO L290 TraceCheckUtils]: 26: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,932 INFO L290 TraceCheckUtils]: 27: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,932 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #87#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:21,932 INFO L272 TraceCheckUtils]: 29: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,932 INFO L290 TraceCheckUtils]: 30: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,933 INFO L290 TraceCheckUtils]: 31: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,933 INFO L290 TraceCheckUtils]: 32: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,943 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #89#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:21,943 INFO L272 TraceCheckUtils]: 34: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,943 INFO L290 TraceCheckUtils]: 35: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,944 INFO L290 TraceCheckUtils]: 36: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,944 INFO L290 TraceCheckUtils]: 37: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,944 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #91#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:21,945 INFO L290 TraceCheckUtils]: 39: Hoare triple {6548#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,945 INFO L290 TraceCheckUtils]: 40: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,945 INFO L272 TraceCheckUtils]: 41: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,945 INFO L290 TraceCheckUtils]: 42: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,945 INFO L290 TraceCheckUtils]: 43: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,945 INFO L290 TraceCheckUtils]: 44: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,946 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #87#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,946 INFO L272 TraceCheckUtils]: 46: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,946 INFO L290 TraceCheckUtils]: 47: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,946 INFO L290 TraceCheckUtils]: 48: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,946 INFO L290 TraceCheckUtils]: 49: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,946 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #89#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,946 INFO L272 TraceCheckUtils]: 51: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,947 INFO L290 TraceCheckUtils]: 52: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,947 INFO L290 TraceCheckUtils]: 53: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,947 INFO L290 TraceCheckUtils]: 54: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,947 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #91#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,948 INFO L290 TraceCheckUtils]: 56: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,948 INFO L290 TraceCheckUtils]: 57: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,948 INFO L272 TraceCheckUtils]: 58: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,948 INFO L290 TraceCheckUtils]: 59: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,948 INFO L290 TraceCheckUtils]: 60: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,948 INFO L290 TraceCheckUtils]: 61: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,949 INFO L272 TraceCheckUtils]: 63: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L290 TraceCheckUtils]: 64: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L290 TraceCheckUtils]: 65: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L290 TraceCheckUtils]: 66: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,949 INFO L272 TraceCheckUtils]: 68: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,949 INFO L290 TraceCheckUtils]: 69: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,950 INFO L290 TraceCheckUtils]: 70: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,950 INFO L290 TraceCheckUtils]: 71: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,950 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,950 INFO L290 TraceCheckUtils]: 73: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,951 INFO L290 TraceCheckUtils]: 74: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,951 INFO L272 TraceCheckUtils]: 75: Hoare triple {6652#(<= 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)); {6477#true} is VALID [2022-04-27 13:24:21,951 INFO L290 TraceCheckUtils]: 76: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,951 INFO L290 TraceCheckUtils]: 77: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,951 INFO L290 TraceCheckUtils]: 78: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,951 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,951 INFO L272 TraceCheckUtils]: 80: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,951 INFO L290 TraceCheckUtils]: 81: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,952 INFO L290 TraceCheckUtils]: 82: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,952 INFO L290 TraceCheckUtils]: 83: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,952 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:21,953 INFO L290 TraceCheckUtils]: 85: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 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); {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,953 INFO L290 TraceCheckUtils]: 86: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,953 INFO L290 TraceCheckUtils]: 87: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,954 INFO L272 TraceCheckUtils]: 88: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L290 TraceCheckUtils]: 89: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L290 TraceCheckUtils]: 90: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L290 TraceCheckUtils]: 91: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #93#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,954 INFO L272 TraceCheckUtils]: 93: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L290 TraceCheckUtils]: 94: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:21,954 INFO L290 TraceCheckUtils]: 95: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:21,955 INFO L290 TraceCheckUtils]: 96: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:21,955 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #95#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:21,955 INFO L290 TraceCheckUtils]: 98: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {6478#false} is VALID [2022-04-27 13:24:21,955 INFO L272 TraceCheckUtils]: 99: Hoare triple {6478#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6478#false} is VALID [2022-04-27 13:24:21,955 INFO L290 TraceCheckUtils]: 100: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-27 13:24:21,955 INFO L290 TraceCheckUtils]: 101: Hoare triple {6478#false} assume !(0 == ~cond); {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L290 TraceCheckUtils]: 102: Hoare triple {6478#false} assume true; {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {6478#false} {6478#false} #97#return; {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L272 TraceCheckUtils]: 104: Hoare triple {6478#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L290 TraceCheckUtils]: 105: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L290 TraceCheckUtils]: 106: Hoare triple {6478#false} assume 0 == ~cond; {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L290 TraceCheckUtils]: 107: Hoare triple {6478#false} assume !false; {6478#false} is VALID [2022-04-27 13:24:21,956 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 93 proven. 4 refuted. 0 times theorem prover too weak. 326 trivial. 0 not checked. [2022-04-27 13:24:21,956 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 107: Hoare triple {6478#false} assume !false; {6478#false} is VALID [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 106: Hoare triple {6478#false} assume 0 == ~cond; {6478#false} is VALID [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 105: Hoare triple {6478#false} ~cond := #in~cond; {6478#false} is VALID [2022-04-27 13:24:23,223 INFO L272 TraceCheckUtils]: 104: Hoare triple {6478#false} call __VERIFIER_assert((if ~B~0 % 4294967296 == ~d~0 then 1 else 0)); {6478#false} is VALID [2022-04-27 13:24:23,223 INFO L284 TraceCheckUtils]: 103: Hoare quadruple {6477#true} {6478#false} #97#return; {6478#false} is VALID [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 102: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 101: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,223 INFO L290 TraceCheckUtils]: 100: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,223 INFO L272 TraceCheckUtils]: 99: Hoare triple {6478#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,224 INFO L290 TraceCheckUtils]: 98: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !(1 != ~p~0); {6478#false} is VALID [2022-04-27 13:24:23,224 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #95#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,224 INFO L290 TraceCheckUtils]: 96: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,224 INFO L290 TraceCheckUtils]: 95: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,224 INFO L290 TraceCheckUtils]: 94: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,224 INFO L272 TraceCheckUtils]: 93: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,225 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #93#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,225 INFO L290 TraceCheckUtils]: 91: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,225 INFO L290 TraceCheckUtils]: 90: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,225 INFO L290 TraceCheckUtils]: 89: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,225 INFO L272 TraceCheckUtils]: 88: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,225 INFO L290 TraceCheckUtils]: 87: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,226 INFO L290 TraceCheckUtils]: 86: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,227 INFO L290 TraceCheckUtils]: 85: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 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); {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,227 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #95#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,227 INFO L290 TraceCheckUtils]: 83: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,227 INFO L290 TraceCheckUtils]: 82: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,227 INFO L290 TraceCheckUtils]: 81: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,227 INFO L272 TraceCheckUtils]: 80: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,228 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #93#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,228 INFO L290 TraceCheckUtils]: 78: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,228 INFO L290 TraceCheckUtils]: 77: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,228 INFO L290 TraceCheckUtils]: 76: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,228 INFO L272 TraceCheckUtils]: 75: Hoare triple {6652#(<= 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)); {6477#true} is VALID [2022-04-27 13:24:23,228 INFO L290 TraceCheckUtils]: 74: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,228 INFO L290 TraceCheckUtils]: 73: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !(~r~0 >= ~d~0); {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,229 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #91#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,229 INFO L290 TraceCheckUtils]: 71: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,229 INFO L290 TraceCheckUtils]: 70: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,229 INFO L290 TraceCheckUtils]: 69: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,229 INFO L272 TraceCheckUtils]: 68: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,229 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #89#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 66: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 65: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 64: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L272 TraceCheckUtils]: 63: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {6477#true} {6652#(<= 1 (div (div main_~p~0 2) 2))} #87#return; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 61: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 60: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L290 TraceCheckUtils]: 59: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,230 INFO L272 TraceCheckUtils]: 58: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,231 INFO L290 TraceCheckUtils]: 57: Hoare triple {6652#(<= 1 (div (div main_~p~0 2) 2))} assume !false; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,231 INFO L290 TraceCheckUtils]: 56: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6652#(<= 1 (div (div main_~p~0 2) 2))} is VALID [2022-04-27 13:24:23,232 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #91#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,232 INFO L290 TraceCheckUtils]: 54: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,232 INFO L290 TraceCheckUtils]: 53: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,232 INFO L290 TraceCheckUtils]: 52: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,232 INFO L272 TraceCheckUtils]: 51: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,232 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #89#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,232 INFO L290 TraceCheckUtils]: 49: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 48: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 47: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L272 TraceCheckUtils]: 46: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6477#true} {6600#(<= 1 (div main_~p~0 2))} #87#return; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 44: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 43: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L272 TraceCheckUtils]: 41: Hoare triple {6600#(<= 1 (div main_~p~0 2))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,233 INFO L290 TraceCheckUtils]: 40: Hoare triple {6600#(<= 1 (div main_~p~0 2))} assume !false; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,234 INFO L290 TraceCheckUtils]: 39: Hoare triple {6548#(<= 1 main_~p~0)} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {6600#(<= 1 (div main_~p~0 2))} is VALID [2022-04-27 13:24:23,234 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #91#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:23,234 INFO L290 TraceCheckUtils]: 37: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L290 TraceCheckUtils]: 36: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L272 TraceCheckUtils]: 34: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #89#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:23,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,235 INFO L272 TraceCheckUtils]: 29: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,236 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6477#true} {6548#(<= 1 main_~p~0)} #87#return; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:23,236 INFO L290 TraceCheckUtils]: 27: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,236 INFO L290 TraceCheckUtils]: 26: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,236 INFO L290 TraceCheckUtils]: 25: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,236 INFO L272 TraceCheckUtils]: 24: Hoare triple {6548#(<= 1 main_~p~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,236 INFO L290 TraceCheckUtils]: 23: Hoare triple {6548#(<= 1 main_~p~0)} assume !false; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:23,236 INFO L290 TraceCheckUtils]: 22: Hoare triple {6477#true} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {6548#(<= 1 main_~p~0)} is VALID [2022-04-27 13:24:23,237 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6477#true} {6477#true} #85#return; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 19: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L272 TraceCheckUtils]: 17: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6477#true} {6477#true} #83#return; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 13: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L272 TraceCheckUtils]: 12: Hoare triple {6477#true} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {6477#true} ~B~0 := #t~nondet5;havoc #t~nondet5; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6477#true} {6477#true} #81#return; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {6477#true} assume !(0 == ~cond); {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L290 TraceCheckUtils]: 7: Hoare triple {6477#true} ~cond := #in~cond; {6477#true} is VALID [2022-04-27 13:24:23,237 INFO L272 TraceCheckUtils]: 6: Hoare triple {6477#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L290 TraceCheckUtils]: 5: Hoare triple {6477#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; {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L272 TraceCheckUtils]: 4: Hoare triple {6477#true} call #t~ret6 := main(); {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6477#true} {6477#true} #101#return; {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L290 TraceCheckUtils]: 2: Hoare triple {6477#true} assume true; {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L290 TraceCheckUtils]: 1: Hoare triple {6477#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); {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L272 TraceCheckUtils]: 0: Hoare triple {6477#true} call ULTIMATE.init(); {6477#true} is VALID [2022-04-27 13:24:23,238 INFO L134 CoverageAnalysis]: Checked inductivity of 423 backedges. 43 proven. 4 refuted. 0 times theorem prover too weak. 376 trivial. 0 not checked. [2022-04-27 13:24:23,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:23,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [980753571] [2022-04-27 13:24:23,238 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:23,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [130175991] [2022-04-27 13:24:23,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [130175991] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:24:23,239 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:24:23,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 5 [2022-04-27 13:24:23,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [120672016] [2022-04-27 13:24:23,239 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:24:23,239 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 108 [2022-04-27 13:24:23,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:23,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:24:23,296 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:23,296 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 13:24:23,296 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:23,296 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 13:24:23,296 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:24:23,296 INFO L87 Difference]: Start difference. First operand 106 states and 125 transitions. Second operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:24:23,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:23,780 INFO L93 Difference]: Finished difference Result 113 states and 131 transitions. [2022-04-27 13:24:23,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 13:24:23,780 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) Word has length 108 [2022-04-27 13:24:23,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:23,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:24:23,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-27 13:24:23,782 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:24:23,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 82 transitions. [2022-04-27 13:24:23,783 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 82 transitions. [2022-04-27 13:24:23,856 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:23,858 INFO L225 Difference]: With dead ends: 113 [2022-04-27 13:24:23,858 INFO L226 Difference]: Without dead ends: 101 [2022-04-27 13:24:23,858 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 215 GetRequests, 208 SyntacticMatches, 4 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=10, Invalid=10, Unknown=0, NotChecked=0, Total=20 [2022-04-27 13:24:23,858 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 42 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:23,858 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 121 Invalid, 42 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 13:24:23,859 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-04-27 13:24:23,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 101. [2022-04-27 13:24:23,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:23,933 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:24:23,933 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:24:23,933 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:24:23,935 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:23,935 INFO L93 Difference]: Finished difference Result 101 states and 118 transitions. [2022-04-27 13:24:23,935 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-27 13:24:23,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:23,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:23,936 INFO L74 IsIncluded]: Start isIncluded. First operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 101 states. [2022-04-27 13:24:23,936 INFO L87 Difference]: Start difference. First operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) Second operand 101 states. [2022-04-27 13:24:23,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:23,937 INFO L93 Difference]: Finished difference Result 101 states and 118 transitions. [2022-04-27 13:24:23,937 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-27 13:24:23,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:23,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:23,938 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:23,938 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:23,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 101 states, 61 states have (on average 1.1147540983606556) internal successors, (68), 62 states have internal predecessors, (68), 26 states have call successors, (26), 14 states have call predecessors, (26), 13 states have return successors, (24), 24 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-27 13:24:23,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 118 transitions. [2022-04-27 13:24:23,941 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 118 transitions. Word has length 108 [2022-04-27 13:24:23,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:23,941 INFO L495 AbstractCegarLoop]: Abstraction has 101 states and 118 transitions. [2022-04-27 13:24:23,941 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.4) internal successors, (27), 5 states have internal predecessors, (27), 5 states have call successors, (21), 2 states have call predecessors, (21), 2 states have return successors, (19), 5 states have call predecessors, (19), 5 states have call successors, (19) [2022-04-27 13:24:23,941 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 118 transitions. [2022-04-27 13:24:23,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-27 13:24:23,942 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 13:24:23,942 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:23,960 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-27 13:24:24,158 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:24:24,158 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 13:24:24,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 13:24:24,159 INFO L85 PathProgramCache]: Analyzing trace with hash -1619018179, now seen corresponding path program 2 times [2022-04-27 13:24:24,159 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 13:24:24,159 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [107208661] [2022-04-27 13:24:24,159 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 13:24:24,159 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 13:24:24,168 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-27 13:24:24,168 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1397492705] [2022-04-27 13:24:24,169 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 13:24:24,169 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 13:24:24,169 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 13:24:24,169 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:24:24,170 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:24:24,217 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 13:24:24,217 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 13:24:24,218 INFO L263 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-27 13:24:24,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 13:24:24,233 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 13:24:33,424 INFO L272 TraceCheckUtils]: 0: Hoare triple {7635#true} call ULTIMATE.init(); {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {7635#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); {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7635#true} {7635#true} #101#return; {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L272 TraceCheckUtils]: 4: Hoare triple {7635#true} call #t~ret6 := main(); {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {7635#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; {7635#true} is VALID [2022-04-27 13:24:33,424 INFO L272 TraceCheckUtils]: 6: Hoare triple {7635#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {7635#true} ~cond := #in~cond; {7661#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-27 13:24:33,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {7661#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:33,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:33,426 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} {7635#true} #81#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:33,426 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:33,426 INFO L272 TraceCheckUtils]: 12: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,426 INFO L290 TraceCheckUtils]: 13: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,426 INFO L290 TraceCheckUtils]: 14: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,426 INFO L290 TraceCheckUtils]: 15: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,426 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #83#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:33,427 INFO L272 TraceCheckUtils]: 17: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,427 INFO L290 TraceCheckUtils]: 18: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,427 INFO L290 TraceCheckUtils]: 19: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,427 INFO L290 TraceCheckUtils]: 20: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,427 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #85#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:33,429 INFO L290 TraceCheckUtils]: 22: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,429 INFO L290 TraceCheckUtils]: 23: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,429 INFO L272 TraceCheckUtils]: 24: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,429 INFO L290 TraceCheckUtils]: 25: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L290 TraceCheckUtils]: 26: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L290 TraceCheckUtils]: 27: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,430 INFO L272 TraceCheckUtils]: 29: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L290 TraceCheckUtils]: 30: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L290 TraceCheckUtils]: 31: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,430 INFO L290 TraceCheckUtils]: 32: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,431 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,431 INFO L272 TraceCheckUtils]: 34: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,431 INFO L290 TraceCheckUtils]: 35: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,431 INFO L290 TraceCheckUtils]: 36: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,431 INFO L290 TraceCheckUtils]: 37: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,431 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7635#true} {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,432 INFO L290 TraceCheckUtils]: 39: Hoare triple {7709#(and (< main_~d~0 4294967296) (<= 0 main_~d~0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,433 INFO L272 TraceCheckUtils]: 41: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,433 INFO L290 TraceCheckUtils]: 42: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,433 INFO L290 TraceCheckUtils]: 43: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,433 INFO L290 TraceCheckUtils]: 44: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,433 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,433 INFO L272 TraceCheckUtils]: 46: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 47: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 48: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 49: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,434 INFO L272 TraceCheckUtils]: 51: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 52: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 53: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,434 INFO L290 TraceCheckUtils]: 54: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,435 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7635#true} {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,436 INFO L290 TraceCheckUtils]: 56: Hoare triple {7761#(and (<= 0 (div (* (- 1) main_~d~0) (- 2))) (= (mod main_~d~0 2) 0) (< (div (* (- 1) main_~d~0) (- 2)) 4294967296) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 57: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !false; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,437 INFO L272 TraceCheckUtils]: 58: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 59: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 60: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 61: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #87#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,437 INFO L272 TraceCheckUtils]: 63: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 64: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 65: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,437 INFO L290 TraceCheckUtils]: 66: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,438 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #89#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,438 INFO L272 TraceCheckUtils]: 68: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:33,438 INFO L290 TraceCheckUtils]: 69: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:33,438 INFO L290 TraceCheckUtils]: 70: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:33,438 INFO L290 TraceCheckUtils]: 71: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:33,438 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7635#true} {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} #91#return; {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} is VALID [2022-04-27 13:24:33,439 INFO L290 TraceCheckUtils]: 73: Hoare triple {7813#(and (<= (div main_~r~0 (- 2)) (div (* (- 1) main_~d~0) 4)) (<= (div main_~r~0 (- 2)) 0) (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))} assume !(~r~0 >= ~d~0); {7636#false} is VALID [2022-04-27 13:24:33,439 INFO L290 TraceCheckUtils]: 74: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:33,439 INFO L272 TraceCheckUtils]: 75: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,439 INFO L290 TraceCheckUtils]: 76: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 77: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 78: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L272 TraceCheckUtils]: 80: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 81: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 82: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 83: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 85: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 86: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 87: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L272 TraceCheckUtils]: 88: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 89: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 90: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L290 TraceCheckUtils]: 91: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:33,440 INFO L272 TraceCheckUtils]: 93: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 94: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 95: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 96: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 98: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 99: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 100: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L272 TraceCheckUtils]: 101: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 102: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 103: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 104: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {7636#false} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L272 TraceCheckUtils]: 106: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 107: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 108: Hoare triple {7636#false} assume !(0 == ~cond); {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L290 TraceCheckUtils]: 109: Hoare triple {7636#false} assume true; {7636#false} is VALID [2022-04-27 13:24:33,441 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {7636#false} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L290 TraceCheckUtils]: 111: Hoare triple {7636#false} assume !(1 != ~p~0); {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L272 TraceCheckUtils]: 112: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L290 TraceCheckUtils]: 113: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L290 TraceCheckUtils]: 114: Hoare triple {7636#false} assume 0 == ~cond; {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L290 TraceCheckUtils]: 115: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:33,442 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 234 proven. 21 refuted. 0 times theorem prover too weak. 235 trivial. 0 not checked. [2022-04-27 13:24:33,442 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 115: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 114: Hoare triple {7636#false} assume 0 == ~cond; {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 113: Hoare triple {7636#false} ~cond := #in~cond; {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L272 TraceCheckUtils]: 112: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~d~0 * ~q~0 + ~r~0 then 1 else 0)); {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 111: Hoare triple {7636#false} assume !(1 != ~p~0); {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L284 TraceCheckUtils]: 110: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 109: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 108: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,737 INFO L290 TraceCheckUtils]: 107: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,737 INFO L272 TraceCheckUtils]: 106: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,738 INFO L284 TraceCheckUtils]: 105: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 104: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 103: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 102: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,738 INFO L272 TraceCheckUtils]: 101: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 100: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 99: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-27 13:24:34,738 INFO L290 TraceCheckUtils]: 98: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-27 13:24:34,738 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:34,739 INFO L290 TraceCheckUtils]: 96: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,739 INFO L290 TraceCheckUtils]: 95: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,739 INFO L290 TraceCheckUtils]: 94: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,741 INFO L272 TraceCheckUtils]: 93: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,741 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:34,741 INFO L290 TraceCheckUtils]: 91: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,741 INFO L290 TraceCheckUtils]: 90: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,741 INFO L290 TraceCheckUtils]: 89: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L272 TraceCheckUtils]: 88: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 87: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 86: Hoare triple {7636#false} assume ~r~0 >= ~d~0;~r~0 := ~r~0 - ~d~0;~q~0 := ~q~0 + ~p~0; {7636#false} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 85: Hoare triple {7636#false} assume !!(1 != ~p~0);~d~0 := (if ~d~0 < 0 && 0 != ~d~0 % 2 then 1 + ~d~0 / 2 else ~d~0 / 2);~p~0 := (if ~p~0 < 0 && 0 != ~p~0 % 2 then 1 + ~p~0 / 2 else ~p~0 / 2); {7636#false} is VALID [2022-04-27 13:24:34,742 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {7635#true} {7636#false} #95#return; {7636#false} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 83: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 82: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 81: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L272 TraceCheckUtils]: 80: Hoare triple {7636#false} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {7635#true} {7636#false} #93#return; {7636#false} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 78: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 77: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 76: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L272 TraceCheckUtils]: 75: Hoare triple {7636#false} call __VERIFIER_assert((if ~A~0 % 4294967296 == ~q~0 * (~B~0 % 4294967296) + ~r~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,742 INFO L290 TraceCheckUtils]: 74: Hoare triple {7636#false} assume !false; {7636#false} is VALID [2022-04-27 13:24:34,743 INFO L290 TraceCheckUtils]: 73: Hoare triple {8117#(<= main_~d~0 main_~r~0)} assume !(~r~0 >= ~d~0); {7636#false} is VALID [2022-04-27 13:24:34,743 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #91#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 71: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 70: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 69: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L272 TraceCheckUtils]: 68: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #89#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 66: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 65: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L290 TraceCheckUtils]: 64: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,744 INFO L272 TraceCheckUtils]: 63: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,751 INFO L284 TraceCheckUtils]: 62: Hoare quadruple {7635#true} {8117#(<= main_~d~0 main_~r~0)} #87#return; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-27 13:24:34,751 INFO L290 TraceCheckUtils]: 61: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,751 INFO L290 TraceCheckUtils]: 60: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,751 INFO L290 TraceCheckUtils]: 59: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,751 INFO L272 TraceCheckUtils]: 58: Hoare triple {8117#(<= main_~d~0 main_~r~0)} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,752 INFO L290 TraceCheckUtils]: 57: Hoare triple {8117#(<= main_~d~0 main_~r~0)} assume !false; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-27 13:24:34,753 INFO L290 TraceCheckUtils]: 56: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8117#(<= main_~d~0 main_~r~0)} is VALID [2022-04-27 13:24:34,753 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #91#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:24:34,753 INFO L290 TraceCheckUtils]: 54: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,753 INFO L290 TraceCheckUtils]: 53: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,753 INFO L290 TraceCheckUtils]: 52: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,753 INFO L272 TraceCheckUtils]: 51: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,754 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #89#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:24:34,754 INFO L290 TraceCheckUtils]: 49: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,754 INFO L290 TraceCheckUtils]: 48: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,754 INFO L290 TraceCheckUtils]: 47: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,754 INFO L272 TraceCheckUtils]: 46: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,754 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7635#true} {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} #87#return; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:24:34,754 INFO L290 TraceCheckUtils]: 44: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,755 INFO L290 TraceCheckUtils]: 43: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,755 INFO L290 TraceCheckUtils]: 42: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,755 INFO L272 TraceCheckUtils]: 41: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} assume !false; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:24:34,756 INFO L290 TraceCheckUtils]: 39: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !!(~r~0 >= ~d~0);~d~0 := 2 * ~d~0;~p~0 := 2 * ~p~0; {8169#(or (not (<= main_~d~0 main_~r~0)) (<= (* main_~d~0 2) main_~r~0))} is VALID [2022-04-27 13:24:34,756 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #91#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:24:34,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L290 TraceCheckUtils]: 36: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L290 TraceCheckUtils]: 35: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L272 TraceCheckUtils]: 34: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~d~0 == ~B~0 % 4294967296 * ~p~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #89#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:24:34,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L290 TraceCheckUtils]: 30: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,757 INFO L272 TraceCheckUtils]: 29: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if ~r~0 == ~A~0 % 4294967296 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,758 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7635#true} {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} #87#return; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:24:34,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,758 INFO L290 TraceCheckUtils]: 26: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,758 INFO L290 TraceCheckUtils]: 25: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,758 INFO L272 TraceCheckUtils]: 24: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} call __VERIFIER_assert((if 0 == ~q~0 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,758 INFO L290 TraceCheckUtils]: 23: Hoare triple {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} assume !false; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:24:34,760 INFO L290 TraceCheckUtils]: 22: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~r~0 := ~A~0 % 4294967296;~d~0 := ~B~0 % 4294967296;~p~0 := 1;~q~0 := 0; {8221#(or (<= (* main_~d~0 4) main_~r~0) (not (<= (* main_~d~0 2) main_~r~0)))} is VALID [2022-04-27 13:24:34,761 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #85#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 20: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 19: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 18: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L272 TraceCheckUtils]: 17: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7635#true} {7672#(<= (mod main_~A~0 4294967296) 1)} #83#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 15: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 14: Hoare triple {7635#true} assume !(0 == ~cond); {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L290 TraceCheckUtils]: 13: Hoare triple {7635#true} ~cond := #in~cond; {7635#true} is VALID [2022-04-27 13:24:34,761 INFO L272 TraceCheckUtils]: 12: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} call assume_abort_if_not((if ~B~0 % 4294967296 >= 0 && ~B~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,762 INFO L290 TraceCheckUtils]: 11: Hoare triple {7672#(<= (mod main_~A~0 4294967296) 1)} ~B~0 := #t~nondet5;havoc #t~nondet5; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:34,762 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} {7635#true} #81#return; {7672#(<= (mod main_~A~0 4294967296) 1)} is VALID [2022-04-27 13:24:34,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {7665#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:34,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {8318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {7665#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-27 13:24:34,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {7635#true} ~cond := #in~cond; {8318#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-27 13:24:34,763 INFO L272 TraceCheckUtils]: 6: Hoare triple {7635#true} call assume_abort_if_not((if ~A~0 % 4294967296 >= 0 && ~A~0 % 4294967296 <= 1 then 1 else 0)); {7635#true} is VALID [2022-04-27 13:24:34,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {7635#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; {7635#true} is VALID [2022-04-27 13:24:34,763 INFO L272 TraceCheckUtils]: 4: Hoare triple {7635#true} call #t~ret6 := main(); {7635#true} is VALID [2022-04-27 13:24:34,763 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7635#true} {7635#true} #101#return; {7635#true} is VALID [2022-04-27 13:24:34,763 INFO L290 TraceCheckUtils]: 2: Hoare triple {7635#true} assume true; {7635#true} is VALID [2022-04-27 13:24:34,763 INFO L290 TraceCheckUtils]: 1: Hoare triple {7635#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); {7635#true} is VALID [2022-04-27 13:24:34,764 INFO L272 TraceCheckUtils]: 0: Hoare triple {7635#true} call ULTIMATE.init(); {7635#true} is VALID [2022-04-27 13:24:34,764 INFO L134 CoverageAnalysis]: Checked inductivity of 490 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 439 trivial. 0 not checked. [2022-04-27 13:24:34,764 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 13:24:34,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [107208661] [2022-04-27 13:24:34,764 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-27 13:24:34,764 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1397492705] [2022-04-27 13:24:34,764 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1397492705] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 13:24:34,764 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-27 13:24:34,764 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-27 13:24:34,764 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1099474570] [2022-04-27 13:24:34,765 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-04-27 13:24:34,765 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) Word has length 116 [2022-04-27 13:24:34,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 13:24:34,768 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-27 13:24:34,879 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:34,879 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-27 13:24:34,879 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 13:24:34,879 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-27 13:24:34,880 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=103, Unknown=0, NotChecked=0, Total=132 [2022-04-27 13:24:34,880 INFO L87 Difference]: Start difference. First operand 101 states and 118 transitions. Second operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-27 13:24:36,862 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:36,862 INFO L93 Difference]: Finished difference Result 105 states and 121 transitions. [2022-04-27 13:24:36,862 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-27 13:24:36,862 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) Word has length 116 [2022-04-27 13:24:36,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 13:24:36,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-27 13:24:36,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:24:36,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-27 13:24:36,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 62 transitions. [2022-04-27 13:24:36,865 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 62 transitions. [2022-04-27 13:24:36,925 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 13:24:36,925 INFO L225 Difference]: With dead ends: 105 [2022-04-27 13:24:36,925 INFO L226 Difference]: Without dead ends: 0 [2022-04-27 13:24:36,926 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 235 GetRequests, 220 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=58, Invalid=182, Unknown=0, NotChecked=0, Total=240 [2022-04-27 13:24:36,926 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 6 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 184 SdHoareTripleChecker+Invalid, 135 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 13:24:36,926 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 184 Invalid, 135 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-27 13:24:36,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2022-04-27 13:24:36,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2022-04-27 13:24:36,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 13:24:36,927 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:24:36,927 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:24:36,927 INFO L87 Difference]: Start difference. First operand 0 states. Second operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:24:36,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:36,927 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:24:36,927 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:24:36,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:36,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:36,927 INFO L74 IsIncluded]: Start isIncluded. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:24:36,927 INFO L87 Difference]: Start difference. First operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 0 states. [2022-04-27 13:24:36,928 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 13:24:36,928 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2022-04-27 13:24:36,928 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:24:36,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:36,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 13:24:36,928 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 13:24:36,928 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 13:24:36,928 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 0 states, 0 states have (on average 0.0) internal successors, (0), 0 states have internal predecessors, (0), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-04-27 13:24:36,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2022-04-27 13:24:36,928 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 116 [2022-04-27 13:24:36,928 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 13:24:36,928 INFO L495 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2022-04-27 13:24:36,928 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.1666666666666665) internal successors, (38), 12 states have internal predecessors, (38), 9 states have call successors, (28), 2 states have call predecessors, (28), 3 states have return successors, (26), 9 states have call predecessors, (26), 9 states have call successors, (26) [2022-04-27 13:24:36,928 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2022-04-27 13:24:36,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 13:24:36,930 INFO L805 garLoopResultBuilder]: Registering result SAFE for location __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION (0 of 1 remaining) [2022-04-27 13:24:36,946 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-27 13:24:37,131 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:24:37,134 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2022-04-27 13:24:40,654 INFO L899 garLoopResultBuilder]: For program point reach_errorEXIT(line 8) no Hoare annotation was computed. [2022-04-27 13:24:40,654 INFO L899 garLoopResultBuilder]: For program point reach_errorENTRY(line 8) no Hoare annotation was computed. [2022-04-27 13:24:40,654 INFO L899 garLoopResultBuilder]: For program point reach_errorFINAL(line 8) no Hoare annotation was computed. [2022-04-27 13:24:40,654 INFO L902 garLoopResultBuilder]: At program point assume_abort_if_notENTRY(lines 11 13) the Hoare annotation is: true [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L12(line 12) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L12-2(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point assume_abort_if_notEXIT(lines 11 13) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L29(line 29) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L895 garLoopResultBuilder]: At program point L60(line 60) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (and (= main_~d~0 .cse0) (<= .cse0 1) (<= 1 .cse0) (= main_~p~0 1))) [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point mainEXIT(lines 22 63) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L54(lines 54 57) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L54-2(lines 22 63) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L48(lines 46 58) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L895 garLoopResultBuilder]: At program point L46-1(lines 46 58) the Hoare annotation is: (let ((.cse1 (mod main_~B~0 4294967296))) (let ((.cse2 (* main_~q~0 .cse1)) (.cse0 (mod main_~A~0 4294967296))) (and (= (+ .cse0 main_~d~0) (+ main_~r~0 (* main_~p~0 .cse1) .cse2)) (= main_~d~0 .cse1) (<= .cse1 1) (<= 1 .cse1) (= (+ main_~r~0 .cse2) .cse0)))) [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point mainFINAL(lines 22 63) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L895 garLoopResultBuilder]: At program point L38(line 38) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-27 13:24:40,655 INFO L895 garLoopResultBuilder]: At program point L36-2(lines 36 44) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-27 13:24:40,655 INFO L902 garLoopResultBuilder]: At program point mainENTRY(lines 22 63) the Hoare annotation is: true [2022-04-27 13:24:40,655 INFO L899 garLoopResultBuilder]: For program point L61(line 61) no Hoare annotation was computed. [2022-04-27 13:24:40,655 INFO L895 garLoopResultBuilder]: At program point L28(line 28) the Hoare annotation is: (<= (mod main_~A~0 4294967296) 1) [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point L28-1(line 28) the Hoare annotation is: (and (<= (mod main_~A~0 4294967296) 1) (<= (mod main_~B~0 4294967296) 1)) [2022-04-27 13:24:40,656 INFO L902 garLoopResultBuilder]: At program point L26(line 26) the Hoare annotation is: true [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point L26-1(line 26) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point L47(line 47) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (let ((.cse1 (<= .cse0 1)) (.cse3 (= main_~q~0 0)) (.cse2 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 .cse0)) (= main_~p~0 2) .cse1 (= (+ main_~r~0 (* main_~q~0 .cse0)) .cse2) .cse3 (<= .cse0 main_~r~0)) (let ((.cse4 (+ main_~d~0 main_~r~0))) (and (= .cse2 (+ main_~r~0 .cse0)) (<= 0 main_~r~0) (= .cse4 .cse2) (<= 1 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div .cse4 4294967296) 1)) (= main_~q~0 1) .cse5)) (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) .cse1 .cse3 (<= .cse2 main_~r~0) .cse5)))) [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point L47-1(line 47) the Hoare annotation is: (let ((.cse0 (mod main_~B~0 4294967296))) (let ((.cse1 (<= .cse0 1)) (.cse3 (= main_~q~0 0)) (.cse2 (mod main_~A~0 4294967296)) (.cse5 (= main_~p~0 1))) (or (and (< main_~r~0 main_~d~0) (= main_~d~0 (* main_~p~0 .cse0)) (= main_~p~0 2) .cse1 (= (+ main_~r~0 (* main_~q~0 .cse0)) .cse2) .cse3 (<= .cse0 main_~r~0)) (let ((.cse4 (+ main_~d~0 main_~r~0))) (and (= .cse2 (+ main_~r~0 .cse0)) (<= 0 main_~r~0) (= .cse4 .cse2) (<= 1 .cse0) (< (div (+ (* (- 1) (div (+ (- 1) (* (- 1) main_~d~0) (* (- 1) main_~r~0)) (- 2))) 1) (- 4294967296)) (+ (div .cse4 4294967296) 1)) (= main_~q~0 1) .cse5)) (and (= main_~d~0 .cse0) (< main_~r~0 .cse0) .cse1 .cse3 (<= .cse2 main_~r~0) .cse5)))) [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point L39(lines 36 44) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point L37(line 37) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point L37-1(line 37) the Hoare annotation is: (let ((.cse4 (mod main_~B~0 4294967296))) (let ((.cse0 (= main_~d~0 (* main_~p~0 .cse4))) (.cse1 (<= 1 .cse4)) (.cse2 (= (+ main_~r~0 (* main_~q~0 .cse4)) (mod main_~A~0 4294967296))) (.cse3 (= main_~q~0 0)) (.cse5 (< 0 (+ (div (+ (* (- 1) main_~r~0) 1) 4294967296) 1)))) (or (and .cse0 (= main_~p~0 2) .cse1 .cse2 .cse3 (<= .cse4 main_~r~0) .cse5) (and .cse0 (<= .cse4 1) .cse1 .cse2 .cse3 .cse5 (= main_~p~0 1))))) [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L895 garLoopResultBuilder]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|)) [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L902 garLoopResultBuilder]: At program point L-1(line -1) the Hoare annotation is: true [2022-04-27 13:24:40,656 INFO L902 garLoopResultBuilder]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2022-04-27 13:24:40,656 INFO L899 garLoopResultBuilder]: For program point L16(lines 16 17) no Hoare annotation was computed. [2022-04-27 13:24:40,657 INFO L899 garLoopResultBuilder]: For program point L15(lines 15 18) no Hoare annotation was computed. [2022-04-27 13:24:40,657 INFO L902 garLoopResultBuilder]: At program point __VERIFIER_assertENTRY(lines 14 20) the Hoare annotation is: true [2022-04-27 13:24:40,657 INFO L899 garLoopResultBuilder]: For program point L15-2(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:24:40,657 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertEXIT(lines 14 20) no Hoare annotation was computed. [2022-04-27 13:24:40,657 INFO L899 garLoopResultBuilder]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 17) no Hoare annotation was computed. [2022-04-27 13:24:40,659 INFO L356 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 13:24:40,660 INFO L176 ceAbstractionStarter]: Computing trace abstraction results [2022-04-27 13:24:40,662 WARN L170 areAnnotationChecker]: reach_errorENTRY has no Hoare annotation [2022-04-27 13:24:40,662 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: reach_errorFINAL has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L15 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L26-1 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L16 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: L15-2 has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,670 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L39 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L48 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L61 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-27 13:24:40,671 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: L54-2 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: L54 has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2022-04-27 13:24:40,673 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2022-04-27 13:24:40,673 INFO L163 areAnnotationChecker]: CFG has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2022-04-27 13:24:40,684 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 27.04 01:24:40 BoogieIcfgContainer [2022-04-27 13:24:40,684 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2022-04-27 13:24:40,685 INFO L158 Benchmark]: Toolchain (without parser) took 129724.63ms. Allocated memory was 208.7MB in the beginning and 300.9MB in the end (delta: 92.3MB). Free memory was 156.9MB in the beginning and 248.5MB in the end (delta: -91.6MB). Peak memory consumption was 152.5MB. Max. memory is 8.0GB. [2022-04-27 13:24:40,685 INFO L158 Benchmark]: CDTParser took 0.08ms. Allocated memory is still 208.7MB. Free memory was 173.1MB in the beginning and 173.0MB in the end (delta: 150.4kB). There was no memory consumed. Max. memory is 8.0GB. [2022-04-27 13:24:40,685 INFO L158 Benchmark]: CACSL2BoogieTranslator took 193.20ms. Allocated memory is still 208.7MB. Free memory was 156.6MB in the beginning and 183.3MB in the end (delta: -26.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. [2022-04-27 13:24:40,685 INFO L158 Benchmark]: Boogie Preprocessor took 31.16ms. Allocated memory is still 208.7MB. Free memory was 183.0MB in the beginning and 181.6MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-27 13:24:40,685 INFO L158 Benchmark]: RCFGBuilder took 262.10ms. Allocated memory is still 208.7MB. Free memory was 181.6MB in the beginning and 170.1MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-27 13:24:40,686 INFO L158 Benchmark]: TraceAbstraction took 129232.67ms. Allocated memory was 208.7MB in the beginning and 300.9MB in the end (delta: 92.3MB). Free memory was 169.4MB in the beginning and 248.5MB in the end (delta: -79.1MB). Peak memory consumption was 165.1MB. Max. memory is 8.0GB. [2022-04-27 13:24:40,686 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.08ms. Allocated memory is still 208.7MB. Free memory was 173.1MB in the beginning and 173.0MB in the end (delta: 150.4kB). There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 193.20ms. Allocated memory is still 208.7MB. Free memory was 156.6MB in the beginning and 183.3MB in the end (delta: -26.6MB). Peak memory consumption was 12.6MB. Max. memory is 8.0GB. * Boogie Preprocessor took 31.16ms. Allocated memory is still 208.7MB. Free memory was 183.0MB in the beginning and 181.6MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 262.10ms. Allocated memory is still 208.7MB. Free memory was 181.6MB in the beginning and 170.1MB in the end (delta: 11.5MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * TraceAbstraction took 129232.67ms. Allocated memory was 208.7MB in the beginning and 300.9MB in the end (delta: 92.3MB). Free memory was 169.4MB in the beginning and 248.5MB in the end (delta: -79.1MB). Peak memory consumption was 165.1MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - StatisticsResult: ErrorAutomatonStatistics NumberErrorTraces: 0, NumberStatementsAllTraces: 0, NumberRelevantStatements: 0, 0.0s ErrorAutomatonConstructionTimeTotal, 0.0s FaulLocalizationTime, NumberStatementsFirstTrace: -1, TraceLengthAvg: 0, 0.0s ErrorAutomatonConstructionTimeAvg, 0.0s ErrorAutomatonDifferenceTimeAvg, 0.0s ErrorAutomatonDifferenceTimeTotal, NumberOfNoEnhancement: 0, NumberOfFiniteEnhancement: 0, NumberOfInfiniteEnhancement: 0 - PositiveResult [Line: 17]: call to reach_error is unreachable For all program executions holds that call to reach_error is unreachable at this location - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 41 locations, 1 error locations. Started 1 CEGAR loops. OverallTime: 129.2s, OverallIterations: 12, TraceHistogramMax: 16, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 29.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 3.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 363 SdHoareTripleChecker+Valid, 9.2s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 316 mSDsluCounter, 1790 SdHoareTripleChecker+Invalid, 9.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 1285 mSDsCounter, 421 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 1827 IncrementalHoareTripleChecker+Invalid, 2248 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 421 mSolverCounterUnsat, 505 mSDtfsCounter, 1827 mSolverCounterSat, 0.1s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 1335 GetRequests, 1193 SyntacticMatches, 12 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 314 ImplicationChecksByTransitivity, 8.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=119occurred in iteration=9, InterpolantAutomatonStates: 98, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.5s AutomataMinimizationTime, 12 MinimizatonAttempts, 44 StatesRemovedByMinimization, 6 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 17 LocationsWithAnnotation, 76 PreInvPairs, 100 NumberOfFragments, 707 HoareAnnotationTreeSize, 76 FomulaSimplifications, 99 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 17 FomulaSimplificationsInter, 3758 FormulaSimplificationTreeSizeReductionInter, 3.3s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 92.2s InterpolantComputationTime, 776 NumberOfCodeBlocks, 776 NumberOfCodeBlocksAsserted, 14 NumberOfCheckSat, 1333 ConstructedInterpolants, 0 QuantifiedInterpolants, 7013 SizeOfPredicates, 30 NumberOfNonLiveVariables, 1620 ConjunctsInSsa, 145 ConjunctsInUnsatCore, 19 InterpolantComputations, 6 PerfectInterpolantSequences, 3367/3483 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: ((((((d == p * (B % 4294967296) && p == 2) && 1 <= B % 4294967296) && r + q * (B % 4294967296) == A % 4294967296) && q == 0) && B % 4294967296 <= r) && 0 < (-1 * r + 1) / 4294967296 + 1) || ((((((d == p * (B % 4294967296) && B % 4294967296 <= 1) && 1 <= B % 4294967296) && r + q * (B % 4294967296) == A % 4294967296) && q == 0) && 0 < (-1 * r + 1) / 4294967296 + 1) && p == 1) RESULT: Ultimate proved your program to be correct! [2022-04-27 13:24:40,893 WARN L435 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process [2022-04-27 13:24:40,904 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...